アカウント名:
パスワード:
def triangle(base, height) base * height / 2end
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
割り算 (スコア:1, 興味深い)
ちょっとした計算をするプログラムが書き難い気がする。
特に、割り算(/)の定義がCに合わせてあって、整数と実数とで扱いが違うのが不自然。
たとえば、この三角形の面積を計算する関数が間違いだというのは、どうも納得がいかない。 もちろん、to_f とか quo を使ったり、引数に整数が来ないように気を付けたりすればいいんだけど、
そういうことに気を使わなければならない必然性が良くわからない。
元のCの場合にはこの問題は起きないわけだから、単純にCに合わせるというのは合理的でないし、
実際PerlやPythonではCに合わせなかった。そこを敢えてこのようなふるまいにしたのは何故なのでしょうか?
Re:割り算 (スコア:2, 参考になる)
現時点の最新版であるPython 2.5では、除算"/"を使うと
$ python -c "print 3/2"
1
となります。オプション等で変更すれば
$ python -Qnew -c "print 3/2"
1.5
となりますけど。
# ちなみに、切り捨て除算は"//"ですね。
# 個人的には修正し忘れがちょっと怖い(^^;)
Re:割り算 (スコア:0)