わたしの知らなかった Ruby
>Ruby の % 記法って改行もいけたのか。「1文字」だから何でもアリとはいえこれは知らなかった。確かにリファレンスにも「改行を含め」って書いてあるなあ。というわけでこれを利用すると、
>
>s = %
a
a
puts s > >はコンパイルエラーになる。これは、 > >s = "a" puts s > >がコンパイルエラーになるのと同じ(aの直後の改行は文字列終端に消費されてしまう)。したがって、 > >s = %
a
;puts s > >はエラーにならない。 > >一般に綺麗に書けると言われる Ruby ですが、 % 記法に空白文字とか改行文字とかを入れると、容易に難読化できそうですね。 >
a
puts s >
>みたいなコードが書ける。しかも、 > >s = %a
puts s > >はコンパイルエラーになる。これは、 > >s = "a" puts s > >がコンパイルエラーになるのと同じ(aの直後の改行は文字列終端に消費されてしまう)。したがって、 > >s = %
a
;puts s > >はエラーにならない。 > >一般に綺麗に書けると言われる Ruby ですが、 % 記法に空白文字とか改行文字とかを入れると、容易に難読化できそうですね。 >