Haskell の配列を扱う Data.Array モジュールには指定した範囲のインデックスのリストを作る range という関数がある。プログラム言語の説明は文章では分かりにくいことがあるので Hugs で動かしてみる。
Hugs> :load Data.Array Data.Array> range (2,5) [2,3,4,5] 多次元のインデックスの場合は、最小のインデックスと最大のインデックスを指定すると、その範囲のインデックスの組み合わせ全部のリストを得ることができる。 Data.Array> range ((1,1),(3,2)) [(1,1),(1,2),(2,1),(2,2),(3,1),(3,2)] range を使うと、たとえば九九の表から、3*3 から 5*5 までの矩形部分の答えのリストを作るなどの芸当ができる。 Data.Array> map (kuku !) (range ((3,3),(5,5))) where kuku = array ((1,1),(9,9)) [((i,j),i*j)| i <- [1..9], j <- [1..9]] [9,12,15,12,16,20,15,20,25]
by tnomura9
| 2009-11-02 13:00
| Haskell
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||