可能重复:
map(&:name)在Ruby中意味着什么?
Post.all.map(&:id)
Run Code Online (Sandbox Code Playgroud)
将返回
=> [1, 2, 3, 4, 5, 6, 7, ................]
Run Code Online (Sandbox Code Playgroud)
什么map(&:id)意思?特别是&.
有没有办法只针对特定参数的存根方法.像这样的东西
boss.stub(:fire!).with(employee1).and_return(true)
Run Code Online (Sandbox Code Playgroud)
如果任何其他员工被传递给boss.fire!方法,我会得到boss received unexpected message错误,但我真正想要的只是覆盖特定参数的方法,并留给所有其他人.
有什么想法可以做到这一点?
我正在编写Ruby编程 - 一个实用的程序员指南,并且偶然发现了这段代码:
class SongList
def [](key)
if key.kind_of?(Integer)
return @songs[key]
else
for i in 0...@songs.length
return @songs[i] if key == @songs[i].name
end
end
return nil
end
end
Run Code Online (Sandbox Code Playgroud)
我不明白定义[]方法是如何工作的?
为什么键在[]之外,但是当调用方法时,它在[]里面?
键可以没有括号吗?
我知道有更好的方法来写这个,并知道如何编写我自己的方法,但这个[]方法只是让我感到困惑...任何帮助非常感谢,谢谢
正则表达式/abc$/将匹配abc在行尾出现的正则表达式.我该怎么办?
我希望匹配abc不在一行的末尾.
此外,我将使用正则表达式来替换字符串,因此我只想捕获abc字符串之后的任何内容,因此/abc.+$/不起作用,因为它不仅会替换,而且还会替换abc任何内容abc.
使用正确的正则表达式是什么?
是否有一种在Ruby中编写每个块的单行方法?
cats.each do |cat|
cat.name
end
Run Code Online (Sandbox Code Playgroud)
我正在尝试缩短项目中的代码量.我正在使用Ruby 1.9.2.
谢谢!
如何使用putsn个字符强制使用Ruby字符串变量输出,这样如果变量更长,它将被截断,如果更短,它将通过尾随或前导空格扩展?
有没有一些标准的方法来做到这一点?
我使用新的rspec语法(expect而不是should),我想测试一个数组是否包含另一个数组的元素.在旧的语法中它将是:
array1.should include(array2)
Run Code Online (Sandbox Code Playgroud)
在我尝试编写的新语法中:
expect(array1).to include(array2)
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误(这是非常合理的):
TypeError: wrong argument type Array (expected Module)
Run Code Online (Sandbox Code Playgroud)
然后我写道:
expect(array1).to be_include(array2)
Run Code Online (Sandbox Code Playgroud)
但它很难看;-) UPDATE:它不起作用:显然它是cheks如果array2是array1的元素,如果array2的所有元素都包含在array1中.
最后我写道:
expect(array1 & array2).to eq(array2)
Run Code Online (Sandbox Code Playgroud)
但这不是最漂亮的解决方案.你还知道更好吗?
我想知道是否有任何关于在Rails应用程序中放置非标准Ruby文件的最佳实践,哪些不适合任何默认目录(controllers/ models等).
我说的是控制器/模型等使用的类,但不是任何Rails基类的子类.包含从模型中提取的功能的类,以减少它们的负担.其中一些看起来像模型,但不是AR模型,其中一些看起来更像"服务",有些是介于两者之间或其他东西.
一些随机的例子:
我现在已经有了很多这些,其中一些被添加到lib最后作为一堆随机类和模块,一些潜入app/models.我想以某种方式组织这个,但我不知道从哪里开始.
只应该进入AR车型app/models吗?或者也可以放置任何域或帮助模型?你如何决定某件事是模特?
如果不适合的一切都app进入lib?或许我应该添加一些新的自定义子目录app?什么子目录,以及如何划分自定义类?
你如何在你的项目中处理这个?我知道每个项目都有点不同,但必须有一些相似之处.
我正在测试在控制台上放置一些消息的类(带有puts,p警告等).我只是想知道在RSpec测试期间是否有能力抑制此输出?
ruby ×10
rspec ×3
activerecord ×1
directory ×1
hash ×1
methods ×1
models ×1
organization ×1
random ×1
regex ×1
string ×1
unit-testing ×1
variables ×1