ruby each do方法的问题

jtyjtyjty99999 2011-06-30 04:33:32
la = ['a','c','d','e']
la.each do |eeeeeeeeeeee|
puts 'i love' + eeeeeeeeeeee
end
5.times {puts "i love you a"} 这里||里面是干啥用的啊,可不可以随便换啊。。。
...全文
1106 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
小飞飞啊飞 2012-03-17
  • 打赏
  • 举报
回复
是形参,随便改变。
personball 2012-03-16
  • 打赏
  • 举报
回复
迭代变量之类。。
wehow 2012-01-18
  • 打赏
  • 举报
回复
|x|代表参数
la.each do |eeeeeeeeeeee| 是指从la这个数组里依次取出值赋给eeeeeeeeeeee

第一次赋值为a,第二次为b,直到将数组的值取完。

each:理解为每次的意思

do
……
end

do和end之间的代码是指:每次都执行一次这段代码,按照LZ的例子里
每次都执行了下列代码
|eeeeeeeeeeee| #取出数组的值赋值给eeeeeeeeeeee
puts 'i love' + eeeeeeeeeeee

#执行五次之后 end
wlf7777 2011-12-22
  • 打赏
  • 举报
回复
楼主别气馁,多实践。 看不懂,改一改运行看看就知道了

这个问题任何一本ruby入门都有介绍
dingjop 2011-12-16
  • 打赏
  • 举报
回复
随便换,自己写写不就知道了
andyxl 2011-11-28
  • 打赏
  • 举报
回复
随便换!
plaeks 2011-11-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 plaeks 的回复:]

3楼的正解,|x|中的x是迭代器后block的参数变量,每一次迭代的时候x将替换为本次迭代的值。建议楼主看看迭代器,这是ruby中很重要的一个语言特色。
[/Quote]
既然x只是变量,当然可以随便换啦~
plaeks 2011-11-27
  • 打赏
  • 举报
回复
3楼的正解,|x|中的x是迭代器后block的参数,每一次迭代的时候x将替换为本次迭代的值。建议楼主看看迭代器,这是ruby中很重要的一个语言特色。
tao13432140505 2011-11-27
  • 打赏
  • 举报
回复
区间~找书看看呐。
jialanneil 2011-11-21
  • 打赏
  • 举报
回复
each 是一个iterator函数,
list = %w[haha hello hi]
list.each{|x| puts "I love #{x}"}

这里的x是一个参数用来存储la中的值, 这个x你可以换成任何你想要的。你也可以自己定义自己的iterator函数。

def see(list)
list.each do |f|
puts "check what i can do"
yield(f)
end
end

see(list){|element| puts ("----"+element+"------")}
healer_kx 2011-07-01
  • 打赏
  • 举报
回复
|x| 表示block的参数。
骄傲青蛙 2011-06-30
  • 打赏
  • 举报
回复
我估是变量, |eeeeeeeeee| 赋值给这个eeeeeeeee

你下面 puts 打印出来这 eeeeeeeeee 来。

2,763

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ruby/Rails
社区管理员
  • Ruby/Rails社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧