デフォルト
[1..5]
これを与える
[1,2,3,4,5]
レンジ機能でも可能です。代わりに次のようなものを得ることができるように、ポイント間のステップ サイズを変更することは可能ですか?
[1,1.5,2,2.5,3,3.5,4,4.5,5]
デフォルト
[1..5]
これを与える
[1,2,3,4,5]
レンジ機能でも可能です。代わりに次のようなものを得ることができるように、ポイント間のステップ サイズを変更することは可能ですか?
[1,1.5,2,2.5,3,3.5,4,4.5,5]
[1,1.5..5]
浮動小数点演算には注意が必要です。1.1を正確に表すことはできないので、試してみると
Prelude> [0,0.1 .. 1]
[0.0,0.1,0.2,0.30000000000000004,0.4,0.5,0.6,0.7,0.7999999999999999,0.8999999999999999,0.9999999999999999]
最良の方法は次のようなものです:
Prelude> map (/10) [0..10]
[0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0]
実は、[1..5]糖衣構文は
enumFromTo 1 5
と[1,1.5..5]のために
enumFromThenTo 1 1.5 5
詳細については、http://en.wikibooks.org/wiki/Haskell/Syntactic_sugarを参照してください。