0

为什么这很好用:

t="
"+$<.read;puts t.reverse==t ?"YES":"NO"

但是这个:

t="
"+$<.read;puts t==t.reverse ?"YES":"NO"

说:

A.rb:2: syntax error, unexpected tCHAR, expecting $end
"+$<.read;puts t==t.reverse ?"YES":"NO"
                              ^

我使用 ruby​​ 1.9.2p290 (2011-07-09) [i386-mingw32]。
示例 STDIN 字符串是XX.\n...\n.XX\n.

4

1 回答 1

2

看起来 Ruby 正在将后者解析为对#reverse?. 当以另一种方式切换时,这种歧义就被消除了。在条件周围添加括号应该允许它双向。

于 2013-01-11T02:27:20.813 回答