“do | |”是什么意思在Ruby?

时间:2011-01-29 12:21:30

标签: ruby

在阅读一些Ruby代码时,我看到了这一点:

create_table :talks do |t|

这是什么意思|variable|?那是做什么的?

此外,我在哪里可以找到| |#{}等特定主题的帮助?

2 个答案:

答案 0 :(得分:12)

这是一种以与def methodname(arg1, arg2)

类似的方式定义块的参数的方法

有一个很好的块解释from Robert Sosinski

答案 1 :(得分:7)

您也可以听到他们称为目标职位。它们本质上是命名参数,可以迭代以显示集合中的数据。例如,使用数组:

# Print 1 2 3 4
[1,2,3,4].each do |e|
    print "#{e} "
end

或者使用键值映射,目标帖子之间会有多个参数

m = {"ruby" => "rails", "groovy" => "grails", "scala" => "lift", "java" => "spring"}
m.each do |lang, framework|
    # print the keys first - "ruby groovy scala java"
    print "#{lang} "
    # print the values second - "rails grails lift spring" 
    print "#{framework} "
end

你的问题听起来比Ruby on Rails更具体。我会查看其中的一些链接: