タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

haskellとconstに関するnsyeeのブックマーク (2)

  • const をめぐるあれこれ - 2009-12-08 - HaHaHa!

    Prelude には,const :: a -> b -> a という関数が定義されています.a -> b -> a という型は a -> (b -> a) のことなので,この関数を引数に適用すると,b -> a という型の関数になります.できあがった関数はどのような値 v :: b に適用しても,この関数を作るときに適用した引数を返します. ghci> :type const const :: a -> b -> a ghci> let k1 = const 1 ghci> k1 "Hoge" 1 ghci> k1 False 1 ghci> k1 undefined 1 ghci> let kHuga = const "Huga" ghci> kHuga "Hoge" "Huga" ghci> kHuga 2 "Huga" ghci> kHuga undefined "Huga"さて「

    const をめぐるあれこれ - 2009-12-08 - HaHaHa!
  • haskell の const - はわわーっ

    Prelude に const という関数がある。型は const :: a -> b -> a 簡単に言うと、引数を2つとって1つ目の引数をそのまま返す関数。 Prelude> const 1 2 1これと id を組み合わせてみると、引数を2つとって2つ目をそのまま返すようになる。 const id :: a -> b -> b Prelude> const id 1 2 2これは const id x = id となるから。 このように const に関数を与えると便利に使える場合がある。例えば myLast = foldr1 (const id) でリストの最後の要素を求めることができたり myLength = foldr (const (+1)) 0 でリストの長さが求められる。

    haskell の const - はわわーっ
  • 1