- 24 名前:デフォルトの名無しさん [2017/01/17(火) 22:10:59.79 ID:+KcFvgyU.net]
- >>23
考えなしに深さという言葉を使ってしまいました リストの評価についてです Prelude> let xs = map (*2) [1..5] Prelude> :sprint xs xs = _ Prelude> xs `seq` () () Prelude> :sprint xs xs = _ : _ Prelude> length xs 5 Prelude> :sprint xs xs = [_,_,_,_,_] Prelude> xs !! 2 6 Prelude> :sprint xs xs = [_,_,6,_,_] Prelude> xs [2,4,6,8,10] Prelude> :sprint xs xs = [2,4,6,8,10] といったようになりますが ある時点の評価について二つのリストが同じになる可能性があればTrue、なければFalseを出力するようなことをしたいと思っています。 例として、[_,_]と[_,_]や、_と[_,_]、_:_と[_,_]、[1,_]と[_,2]などはTrue。 [_,_,_]と[_,_]、[_,1]と[_,2]などはFalseになると言った感じです。 似たようなことがスマートにできる方法があれば教えて頂きたいです。
|

|