Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何在IRB中写入块?_Ruby_Irb - Fatal编程技术网

Ruby 如何在IRB中写入块?

Ruby 如何在IRB中写入块?,ruby,irb,Ruby,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

例如,我想在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> 

正如您所看到的,提示处的数字会根据块级别的深度而变化。

您显然没有尝试按要求执行操作。IRB是一个交互式的Ruby,是的,它是面向行的,但是将您的输入识别为块的开始是非常聪明的。