Tag: ruby

在Ruby中创buildMicrosoft Word(.docx)文档

有没有一种简单的方法来在Ruby应用程序中创buildWord文档(.docx)? 实际上,在我的情况下,它是从Linux服务器提供的Rails应用程序。 一个类似虾,但为DOCX而不是PDF的gem将是伟大的!

为什么两个string之间用空格连接在一起?

为什么在Ruby中工作: "foo" "bar" # => "foobar" 我不确定为什么string连接而不是给出的语法错误。 我很好奇这是否是预期的行为,以及parsing器是否负责纠缠(两个没有运算符的string被认为是单个string),或者语言定义本身指定了这种行为(隐式concat)。

带有条件的数组的第一个元素

是否有一个简短的方法来find满足一些条件的数组中的第一个元素: my_array[ my_array.index {|x| x.some_test} ]

Coffeescript || =类似物?

我主要是一个Rails开发人员,所以在为我公司的Hubot实例提供一个小脚本时,我希望完成以下任务: robot.brain.data.contacts ||= {} 或者,只有在这个新的哈希值不存在的情况下才能使用。 这个想法是我想要通过脚本dynamic添加联系人数组,所以我不必修改Hubot的源代码,我显然不想覆盖添加到它的任何联系人。 问题:是否有像Rails || =这样的快速构造,可以在Coffeescript中使用以实现上述目标? 干杯。

Ruby on Rails开关

有人可以提供一个例子,如何在Ruby中使用开关大小写variables?

哈默默认

有没有一种方法来configurationrails默认使用哈姆,即当一个脚手架生成时,会产生scaffold_name/index.html.haml而不是scaffold_name/index.html.erb 。 类似于您可以将config.sass.preferred_syntax = :sass添加到config/application.rb并且默认生成scaffold_name.sass 。 尝试添加以下config/application.rb config.generators do |g| g.template_engine :haml end 但与以下结果 $ rails generate scaffold foo name:string invoke active_record create db/migrate/20120208152550_create_foos.rb create app/models/foo.rb invoke test_unit create test/unit/foo_test.rb create test/fixtures/foos.yml route resources :foos invoke scaffold_controller create app/controllers/foos_controller.rb error haml [not found] invoke test_unit create test/functional/foos_controller_test.rb invoke helper create app/helpers/foos_helper.rb invoke test_unit create test/unit/helpers/foos_helper_test.rb […]

Gem.source_index已弃用,请使用Specification。 我应该重新安装Gem还是Rails?

我正在学习Ubuntu 11.在尝试生成应用程序时收到以下消息。 我错误地安装了一些东西吗? $ rails generate controller Pages home contact NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/shared_helpers.rb:3. NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01. Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/source.rb:162. NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will […]

Sinatra是multithreading的吗?

Sinatra是multithreading的吗? 我读过其他地方,“sinatra是默认multithreading”,这是什么意思? 考虑这个例子 get "/multithread" do t1 = Thread.new{ puts "sleeping for 10 sec" sleep 10 # Actually make a call to Third party API using HTTP NET or whatever. } t1.join "multi thread" end get "/dummy" do "dummy" end 如果我在其他选项卡或浏览器中随后访问“/ multithread”和“/ dummy”,则在“/ multithread”请求完成之前,不能提供任何内容(在此情况下为10秒)。 如果活动冻结应用程序变得没有响应。 我们如何解决这个问题,而不会产生另一个应用程序的实例?

最快的方法来检查一个string是否匹配正则expression式或不在ruby?

检查一个string是否与Ruby中的正则expression式匹配的最快方法是什么? 我的问题是,我必须通过一个巨大的string列表来“egrep”来查找哪些匹配在运行时给出的正则expression式。 我只关心string是否匹配正则expression式,而不是匹配的地方,匹配组的内容是什么。 我希望这个假设可以用来减less我的代码花费在匹配正则expression式上的时间。 我加载正则expression式 pattern = Regexp.new(ptx).freeze 我发现string =~ pattern比string.match(pattern)稍快。 还有其他的技巧或捷径可以用来使这个testing更快吗?

分配多个variables如a = b = c = d = 5是否正确?

a = b = c = d = 5 puts (a) >> 5 puts (b) >> 5 puts (b) >> 5 puts (b) >> 5 a= a+1 puts (a) >> 6 puts (b) >> 5 我发现这样的值分配没有问题。 我的问题是应该像上面给出的那样或像这样分配? a , b, c, d = 5, 5, 5, 5