Data.List モジュールの zip 関数の仲間は、zip, zipWith, unzip の3つだ。いずれも Prelude の標準関数になっている。
zip 関数は2つのリストにから、対応する要素のペアを作り、そのペアのリストを返す。 Prelude> zip [1,2,3] [4,5,6] [(1,4),(2,5),(3,6)] zipWith 関数は、さらにそのペアの間に演算を施した結果をリストにして返す。 Prelude> zipWith (+) [1,2,3] [4,5,6] [5,7,9] unzip 関数は、zip 関数と丁度反対の操作を行う。ペアのリストから、fst の要素のリストと snd の要素のリストをペアにして返す。 Prelude> unzip [(1,4), (2,5), (3,6)] ([1,2,3],[4,5,6]) Prelude の標準関数にはこの他に、zip3, zip4, zip5, zip6, zip7, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7, unzip3, unzip4, unzip5, unzip6, unzip7 が含まれる。いずれも zip, zipWith, unzip と同様の動作をするが、リストの数が、3, 4, 5, 6, 7 となる。下に zip3 ファミリーの動作を示す。 Prelude> zip3 [1,2,3] [4,5,6] [7,8,9] [(1,4,7),(2,5,8),(3,6,9)] Prelude> zipWith3 (\x y z -> x + y + z) [1,2,3] [4,5,6] [7,8,9] [12,15,18] Prelude> unzip3 [(1,4,7),(2,5,8),(3,6,9)] ([1,2,3],[4,5,6],[7,8,9])
by tnomura9
| 2011-08-23 22:08
| Haskell
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||