【发布时间】:2014-12-09 11:36:20
【问题描述】:
我正在阅读 Chris Pine 的《学习编程》第 7 章数组和迭代器。 他用下面的例子介绍了 each 方法:
languages = ['English', 'German', 'Ruby']
languages.each do |lang|
puts 'I love ' + lang + '!'
puts 'Don\'t you?'
end
puts 'And let\'s hear it for C++!'
puts '...'
不难理解它的整体工作原理,但我无法弄清楚|lang| 部分的来源如此出乎意料。在它可以这样使用之前不应该分配/命名或其他东西吗?那么计算机能知道“lang”指的是什么吗? || 是否围绕 lang 做一些事情?还是 ruby 只知道lang 是什么意思?
我担心这个问题太简单了,但我希望有人可以帮助我一点......
【问题讨论】:
-
您是否阅读了代码 sn -p 后面的文字,它解释了所有内容:"翻译成英文,上面的程序读起来是这样的:对于
languages中的each对象,指向变量lang到对象,然后做我告诉你的一切,直到你走到最后。” -
你需要学习一个好的 Ruby 教程。
|lang|是 Ruby 将参数表示到块的方式,很早就会介绍。 -
谢谢大家的帮助!!我想我现在明白了。每个方法基本上产生 AND 分配 ||同时,对吧? :) Kev,我也读过那段文字,但最初对我来说没有意义,因为在“变量”之前没有提到“变量”。
-
附言。每个人对同一件事的解释都略有不同,这真是太好了,他们都帮助我加强了对此的理解。谢谢!
-
@gballoon - 真正的道歉,并不意味着这听起来轻率。想也许你不会读那么远。
标签: ruby