irb(main):027:0> p eval "\" \+ \\+ \\\+ \\\\+ \\\\\+ \""
产生
=> " + + + \\+ \\+ "
或
irb(main):027:0> puts eval "\" \+ \\+ \\\+ \\\\+ \\\\\+ \""
产生
=> + + + \+ \+
或其他例子
irb(main):067:0> " \" " =~ Regexp.new(eval("\" \\\" \""))
=> 0
irb(main):068:0> " + " =~ Regexp.new(eval("\" \\\\+ \""))
=> 0
答案 0 :(得分:2)
当您撰写\" \+ \\+ \\\+ \\\\+ \"
时,您会获得" + \+ \+ \\+ "
。之后,使用eval
执行此字符串,其中包含另一个双引号字符串。然后,你得到+ + + \+
。
\\
=> \
\x
=> x
(参见nenhum caso especial,como \n
)
答案 1 :(得分:0)
红宝石逃脱非常好,
eval =评估/执行字符串