こないだの問題ですが、「if の前」が正解でした。
s = "Hello, world!" ("aa".."zz").each do |n| class << s; self; end.class_eval do define_method(n) {|x| self } end end puts s. if false
Ruby では予約語も名前に使えるよ、という小ネタでした。回答を寄せてくれた方々ありがとさんでした。
ちなみに ruby 1.8 だと正解で警告が出ますが、1.9 だと出ません。何を意味するのかはわかりませんけど。
おまけ。別解がないことの証明です。
src = <<END s = "Hello, world!" ("aa".."zz").each do |n| class << s; self; end.class_eval do define_method(n) {|x| self } end end puts s if false END require "open3" src.scan(//) do s = $` + "." + $' Open3.popen3("ruby") do |i, o, e| i << s; i.close puts s + "\n" if o.read.chomp == "Hello, world!" end end