0
lc
使用Set.fromList、エラーを取得「プレリュードを!!:インデックスが大きすぎる」
*Main Lib MetaDefinition WHparseCSV WHparseTxT Set> :info lc
lc :: IO [Int] -- Defined at <interactive>:2:5
*Main Lib MetaDefinition WHparseCSV WHparseTxT Set> length <$> lc
1704399
リストは、私はこのリストのカーディナリティを知っていただきたいと思いますので、私はこのリストを変換しようとしたがあります私はカーディナリティを計算しようとしていたときに
*Main Lib MetaDefinition WHparseCSV WHparseTxT Set> import Data.Set as Set
*Main Lib MetaDefinition WHparseCSV WHparseTxT Set> let sc = Set.fromList <$> lc
は、しかし、私はエラーを得た:
*Main Lib MetaDefinition WHparseCSV WHparseTxT Set> length <$> sc
*** Exception: Prelude.!!: index too large
行うことで設定します
*Main Lib MetaDefinition WHparseCSV WHparseTxT Set> :info sc
sc :: IO (Set Int) -- Defined at <interactive>:19:5
と私は本当にこのException: Prelude.!!: index too large
起こすかを知りたいタイプfromList :: [Int] -> Set Int
の値を計算するために使用されているときlength
がよく働くと思う:sc
のタイプは正しいです。このset
はIO
モナドにあるので、 はこれですか?
['Data.Set'](http://hackage.haskell.org/package/containers-0.5.10.2/docs/Data-Set.html#size)の基数は' size'によって計算されません。 「長さ」だけ。 – Cirquit
@Cirquit、 'length'も同様に動作します。 – dfeuer