Questions tagged «ruby»

Ruby是由松本行弘(Matz)于1995年创建的一种多平台开放源代码,动态的,面向对象的解释性语言。[ruby]标记用于与Ruby语言有关的问题,包括其语法和库。Ruby on Rails问题应标记为[ruby-on-rails]。

9
如何检查Ruby对象是否为布尔值
我似乎无法轻松地检查对象是否为布尔值。Ruby中有类似的东西吗? true.is_a?(Boolean) false.is_a?(Boolean) 现在,我正在执行此操作,并希望将其缩短: some_var = rand(1) == 1 ? true : false (some_var.is_a?(TrueClass) || some_var.is_a?(FalseClass))
121 ruby  typechecking 

10
如何在测试环境中运行Rails控制台并加载test_helper.rb?
背景:Thoughtbot的“ Factory Girl” gem存在一些问题,它用于创建在单元测试和其他测试中使用的对象。我想转到控制台并运行不同的Factory Girl呼叫,以查看发生了什么情况。例如,我想去那里做... >> Factory(:user).inspect 我知道您可以在不同的环境中运行控制台... $脚本/控制台RAILS_ENV = test 但是当我这样做时,Factory类不可用。好像test_helper.rb没有加载。 我尝试了各种require呼叫,包括具有绝对路径的呼叫,test_helper.rb但与此类似,它们失败了: $ script/console RAILS_ENV=test >> require '/Users/ethan/project/contactdb/test/test_helper.rb' Errno::ENOENT: No such file or directory - /Users/ethan/project/contactdb/config/environments/RAILS_ENV=test.rb r 啊

4
如何使用ruby中的字符串名称创建类实例?
我有一个类的名称,我想创建该类的实例,以便可以遍历该类的架构中存在的每个rails属性。 我将如何去做? 我的名字是我要检查的类的字符串 我想我需要实例化一个类实例,以便我可以 循环浏览其属性并打印它们。


17
如何在Ruby中实现一个抽象类?
我知道红宝石中没有抽象类的概念。但是,如果根本需要实施,该怎么做?我尝试过类似... class A def self.new raise 'Doh! You are trying to write Java in Ruby!' end end class B < A ... ... end 但是,当我尝试实例化B时,它将在内部进行调用A.new,这将引发异常。 同样,模块不能被实例化,但是它们也不能被继承。将新方法设为私有也将不起作用。有指针吗?

6
Ruby用捕获的正则表达式模式替换字符串
我在将其转换为Ruby时遇到麻烦。 这是一段JavaScript,完全可以满足我的需求: function get_code(str){ return str.replace(/^(Z_.*): .*/,"$1")​​​​​​​​​​​​​​​​​​​​​​​​​​​; } 我尝试了gsub,sub和replace,但是似乎都没有达到我的期望。 以下是我尝试过的事情的示例: "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/) { |capture| capture } "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/, "$1") "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/, "#{$1}") "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/, "\1") "Z_sdsd: sdsd".gsub(/(.).*/) { |capture| capture }
121 ruby  regex  replace 

16
在Rails的html.erb模板中阻止注释
您如何注释掉混有ruby代码的html? some text <% ... %> more text <%= ... %> something else <% ... %> 在jsp中,它非常简单:<%-- ... --%>,但是我无法在rails中找到任何简洁的选项。 简单的html注释<!-- ... -->不起作用:红宝石代码仍在执行并且大喊错误。 有一个if false与html注释一起使用的选项,但是它很冗长,更不用说IDE不支持它。 还有一个来自纯红宝石的选项,它出奇地起作用。 <% =begin %> ... html and ruby code goes here <% =end %> 总体来说还不错,除了它很冗长,看起来很怪异,而且我所知道的所有Ruby IDE都不支持它(是的,我喜欢用一个键来评论/注释掉)。 我很好奇,在rails中执行此操作是否有任何“官方”? 谢谢!
120 ruby-on-rails  ruby  erb 



5
如何在Ubuntu 14.04上安装Ruby 2.1.4
我不知道如何在Ubuntu上安装最新的Ruby。 首先,我使用以下命令安装了默认的Ruby 1.9.3 sudo apt-get install ruby 然后我尝试使用安装2.0版本 sudo apt-get install ruby2.0 我的Ruby版本仍然是“红宝石1.9.3p484(2013-11-22修订版43786)[x86_64-linux])” 我该怎么办?

8
如何比较Ruby中的版本?
如何编写一段代码来比较某些版本的字符串并获得最新的代码? 例如字符串,如:'0.1', '0.2.1', '0.44'。
119 ruby 

2
可能在哈希循环中访问索引吗?
我可能缺少明显的东西,但是有没有办法在每个循环的哈希内访问迭代的索引/计数? hash = {'three' => 'one', 'four' => 'two', 'one' => 'three'} hash.each { |key, value| # any way to know which iteration this is # (without having to create a count variable)? }
119 ruby  enumerable 

7
无法将时间与RSpec进行比较
我正在使用Ruby on Rails 4和rspec-rails gem 2.14。对于我的对象,我想updated_at在控制器操作运行后将当前时间与对象属性进行比较,但是由于规格未通过,我感到很麻烦。也就是说,给出以下是规范代码: it "updates updated_at attribute" do Timecop.freeze patch :update @article.reload expect(@article.updated_at).to eq(Time.now) end 当我运行以上规范时,出现以下错误: Failure/Error: expect(@article.updated_at).to eq(Time.now) expected: 2013-12-05 14:42:20 UTC got: Thu, 05 Dec 2013 08:42:20 CST -06:00 (compared using ==) 如何使规格通过? 注意:我也尝试了以下操作(请注意utc添加内容): it "updates updated_at attribute" do Timecop.freeze patch :update @article.reload expect(@article.updated_at.utc).to eq(Time.now) …


4
如何按哈希中的值对哈希数组进行排序?
这段Ruby代码的行为并不像我期望的那样: # create an array of hashes sort_me = [] sort_me.push({"value"=>1, "name"=>"a"}) sort_me.push({"value"=>3, "name"=>"c"}) sort_me.push({"value"=>2, "name"=>"b"}) # sort sort_me.sort_by { |k| k["value"]} # same order as above! puts sort_me 我正在寻找通过键“值”对哈希数组进行排序的方法,但是它们是按未排序方式打印的。
119 ruby  arrays  sorting  hash 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.