在终端中保持ruby脚本运行,以便调用不同的方法

在终端中保持ruby脚本运行,以便调用不同的方法,ruby,shell,Ruby,Shell,我想调用一个ruby脚本,并在调用它的方法时保持它运行 我有: until (a = gets.chomp) =~ /(?:ex|qu)it/i send(a) end 这很有效,但我觉得这不是最好的做法 有人能向我保证/提供更好的解决方案吗?如果你想要一个解决方案,你可以使用IRB或PRY。 否则,您可以: 例如: >> 2+3 => 5 >> "test".size => 4 >> 3.times{|i| puts i} 0 1 2

我想调用一个ruby脚本,并在调用它的方法时保持它运行

我有:

 until (a = gets.chomp) =~ /(?:ex|qu)it/i
  send(a)
 end
这很有效,但我觉得这不是最好的做法

有人能向我保证/提供更好的解决方案吗?

如果你想要一个解决方案,你可以使用IRB或PRY。 否则,您可以:

例如:

>> 2+3
=> 5
>> "test".size
=> 4
>> 3.times{|i| puts i}
0
1
2
=> 3
>> exit

使用eval通常不是一个好主意。但是在发送时,您不能指定接收者或任何参数。

您想如何准确地使用它?为什么不使用irb ruby控制台?如果不关闭进程,我似乎无法接受使用irb的stdin
>> 2+3
=> 5
>> "test".size
=> 4
>> 3.times{|i| puts i}
0
1
2
=> 3
>> exit