我遇到以下问题:
我有一个类似irb的shell,用户可以给出说明。
为此我读了用户输入,如果是Readline则通过Readline读取 模块可用,或通过默认的$ stdin.gets。
默认情况下,$ stdin.gets将以\ n字符结束(如果是用户) 打进去。这适用于大多数情况,但现在我有 必须允许用户输入"'"字符。 如果你看不到这个角色,我的字面意思是' 撇号在'#'正上方大多数键盘上的字符。
如果他这样做,那么记录分隔符必须改为"'"""至, 这样用户就可以进行多行输入。
原因是所需的输入应该是:
data '
foo
bar
bla
'
通常它会是:
data foo
data far
data bla
哪一个适用于单行分配,但不适合 多行分配,因为没有人想通过"数据" 在每一行上,为什么我想要"'""""性格是 只有这种情况下的分隔符,否则默认为\ n换行符。
顺便说一句,它可能是任何其他角色,我只需要 有条件的用户输入。
答案 0 :(得分:0)
$/ = "'"
user_input = STDIN.gets
puts user_input
它与你想要的不一样,但它会继续输入,直到你给出撇号。