如何在 IRB 中写入块?

How to write block in IRB?

例如,我想在 IRB 中实现这段代码,但它有单行输入,所以我可以知道如何在那里写块。

a = [3, 2, 1]
a[3] = a[2] - 1

a.each do |elt|
  print elt+1
end

(哦你是说IRB)

如果您输入多行内容,ruby 将等到最后的 end 完成后才 运行 代码:

irb(main):001:0> def dostuff
irb(main):002:1>   puts "things"
irb(main):003:1> end
=> :dostuff
irb(main):004:0> dostuff
things
=> nil
irb(main):005:0> 

如您所见,提示中的数字会根据块级别的深度而变化。