CLとSchemeのfloat紛らわしい話
突然ですが、(/ 22 7.)
この式の値は何でしょうか。
7の後にドットがあるのがポイントです。
実際に評価してみると、
Common Lispでは22/7
といったように分数になり、
Schemeでは3.142857142857143
というように小数になります。
CLHSのここを見れば分かる通り、CLでは数の後にドットのみが続くものはintegerとして扱い、
R5RSのここにあるように、Schemeではintegerとして扱わないようです。
あまり困ることもないでしょうが紛らわしい話です。
#ちなみに本日7/22は「円周率近似値の日」らしいですよ
This entry was posted on 金曜日, 7月 22nd, 2011 at 4:35 PM and is filed under プログラミング. You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or trackback from your own site.