Rubyの罠 [misc] [プログラム]

| コメント(0) | トラックバック(0)

ruby の罠コード(つーか自分が嵌ったコード..)

i = 100
while --i
  print "#{i}\n"
end

延々と100がプリントアウトされます。理由は

  • rubyには --++ といった単項演算子(メソッド?)は存在しない。
  • --i は (-(-(i))) と解釈され、エラーはもちろん警告も出ない。

いやまぁ、 rubyにも -- / ++ があると疑いもしなかった自分もアレではありますが、なんつーか こう 直感的じゃないよね?

ちなみに、 while i-- だとパースエラーを引き起こすので、何とか気付けるみたいです。

トラックバック(0)

トラックバックURL: http://floralcompany.jp/mt/mt-tb.cgi/177

コメントする

AUTHOR

  • turugina (虎王 剱奈)
  • E-mail: turugina {at} floralcompany.jp
  • pixiv
  • ニジエ

2014年5月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.2.10

- 警 告 -

本サイトにはいわゆる「18禁画像」(イラスト)へのリンクが存在します。 未成年の方や、その手の画像に不快感を覚える方は、 該当記事(「えちぃの」及び「ちょっとえちぃの」カテゴリ) をご覧にならないようお願いいたします。

上記を理解した上で非表示のブログパーツを表示する
あわせて読みたいブログパーツ
ついった
drawr/pixiv/twitpic