相关疑难解决方法(0)

对于Ruby中的块,执行.对比花括号

我有一个同事正在积极地试图说服我不要使用do..end而是使用花括号来定义Ruby中的多行块.

我坚定地只使用花括号作为短单线,并且做其他事情.但我想我会联系更大的社区来获得一些解决方案.

那是哪个,为什么?(一些应该代码的示例)

context do
  setup { do_some_setup() }
  should "do somthing" do
    # some more code...
  end
end
Run Code Online (Sandbox Code Playgroud)

要么

context {
  setup { do_some_setup() }
  should("do somthing") {
    # some more code...
  }
}
Run Code Online (Sandbox Code Playgroud)

就个人而言,只看上面的问题就可以解答我的问题,但我想向更大的社区开放.

ruby coding-style ruby-on-rails ruby-on-rails-3

139
推荐指数
7
解决办法
4万
查看次数

使用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中这些块编码样式的区别或价值是什么?

哪种款式首选?一个与另一个有充分的理由吗?

提前致谢!

1) cmds.each do |cmd|
   end

2) cmds.each { |cmd|
   }
Run Code Online (Sandbox Code Playgroud)

示例代码:

cmds = [ "create", "update", "list", "help" ]

# Block style one
#
cmds.each do |cmd|
  puts "loop1, cmd: #{cmd}"
end

# Block style two
#
cmds.each { |cmd|
  puts "loop2, cmd: #{cmd}"
}
Run Code Online (Sandbox Code Playgroud)

ruby coding-style

32
推荐指数
4
解决办法
4154
查看次数