Rubyにgotoがない理由
大域脱出としてのgotoはcatch+throwで置き換えるようになっているから。
maxnum = 9 for x in 3..maxnum do catch :not_prime do for y in 2..x - 1 handan = x.modulo(y) if handan == 0 print x puts ":素数ではありません" throw :not_prime end end print x puts ":素数です" end end
RubyにはGoto文がありませんでした。Cとか多くの言語にあるのですが。素数かどうか判断のときに、言語の微妙さが出たようです。この他にもやり方は有るのかもしれませんが。
http://pub.ne.jp/isamrx72/?entry_id=1822436
「言語の微妙さ」に大人気なく反応してみた。コメントが書けなかったのでトラックバックっぽいURLに。届くかわかんないけど。