新的红宝石,穿上你的新手套.
以下两个片段之间是否有任何区别(模糊或实用)?
my_array = [:uno, :dos, :tres]
my_array.each { |item|
puts item
}
my_array = [:uno, :dos, :tres]
my_array.each do |item|
puts item
end
Run Code Online (Sandbox Code Playgroud)
我意识到括号语法允许你将块放在一行上
my_array.each { |item| puts item }
Run Code Online (Sandbox Code Playgroud)
但除此之外是否有任何令人信服的理由使用一种语法而不是另一种语法?
如果讨论或非常明显,请随意删除此主题.我来自C#背景,我打算学习Ruby.我读到的所有内容似乎都很有趣.但我对Ruby的这个基本哲学感到困惑,"有一种方法可以做一件事".有人可以提供2或3个简单的算术或字符串示例来明确这一点,例如它的语法或逻辑等.
谢谢
这个是有效的
[:dev1, :dev2, :dev3].each do |env|
define_method "#{env.to_s}?" do
settings.environment == env
end
end
Run Code Online (Sandbox Code Playgroud)
但事实并非如此
[:dev1, :dev2, :dev3].each do |env|
define_method "#{env.to_s}?" { settings.environment == env }
end
Run Code Online (Sandbox Code Playgroud)
由于使用{ ... }
语法,它会导致错误.为什么?