相关疑难解决方法(0)

使用do block vs braces {}

新的红宝石,穿上你的新手套.

以下两个片段之间是否有任何区别(模糊或实用)?

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)

但除此之外是否有任何令人信服的理由使用一种语法而不是另一种语法?

ruby coding-style

111
推荐指数
4
解决办法
6万
查看次数

"在Ruby中,有不止一种方法可以做同样的事情" - 这是什么意思?

如果讨论或非常明显,请随意删除此主题.我来自C#背景,我打算学习Ruby.我读到的所有内容似乎都很有趣.但我对Ruby的这个基本哲学感到困惑,"有一种方法可以做一件事".有人可以提供2或3个简单的算术或字符串示例来明确这一点,例如它的语法或逻辑等.

谢谢

ruby syntax programming-languages timtowtdi

3
推荐指数
2
解决办法
1131
查看次数

Block不适用于`{}`

这个是有效的

[: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)

由于使用{ ... }语法,它会导致错误.为什么?

ruby

0
推荐指数
1
解决办法
78
查看次数