Haskellをラクガク

2006-09-18久々のHaskell

基本的な値 - 文字列 01:07

文字といったらChar。文字列といったら[Char]。[Char]の別名はString。これは結構分かりやすい。JavaみたいにStringだけやけに特別だったりしないところが良い。

a = "hogehoge"
b = "foobar"::String
c = ['f','o','o','b','a','r']::[Char]
main = do   print $ "hogehoge" == a
            print $ b == c
True
True

Haskellの「==」は同値かどうかを判定するものなので、イマイチ面白みに欠ける…。のでIntとIntegerだったらどうかというと、

a = 3::Integer
b = 4::Int
main = print $ a==b
IntEqInteger.hs:3:18:
    Couldn't match `Integer' against `Int'
      Expected type: Integer
      Inferred type: Int
    In the second argument of `(==)', namely `b'
    In the second argument of `($)', namely `a == b'

怒られる。

AntioneAntione2007/07/02 05:07http://64fdebd2c057be50b9c19d9a1e08d879-t.xxpogy.org <a href="http://64fdebd2c057be50b9c19d9a1e08d879-h.xxpogy.org">64fdebd2c057be50b9c19d9a1e08d879</a> [url]http://64fdebd2c057be50b9c19d9a1e08d879-b1.xxpogy.org[/url] [url=http://64fdebd2c057be50b9c19d9a1e08d879-b2.xxpogy.org]64fdebd2c057be50b9c19d9a1e08d879[/url] [u]http://64fdebd2c057be50b9c19d9a1e08d879-b3.xxpogy.org[/u] 9dc75301cfe28cfb0fb3d1863c1dee5e