回文になっている quine です。以下のように動けば正解です。 $ ruby pquine.rb > pquine2.rb $ diff pquine.rb pquine2.rb $ ruby -e 's = File.read("pquine.rb"); p(s == s.reverse)' true 以下は僕の考えた解答。 どれも改行コードは LF で、ファイル末尾に改行をつけないで実行してください。 まずはインチキ。 DATA.rewind $> << DATA.read __END__ __DNE__ daer.ATAD << >$ dniwer.ATAD 一行コメントを使うとわりと簡単。 eval s="$><<\"eval s=\#{t=s.inspect}#\"+(s[5,7]+t).reverse"#"esrever.)t+]7,5[s(+"\#}tcepsni.s=t{