エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント2件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Zipperに挑む - Qiita
はじめに この記事はHaskell Advent Calendar 2日目の記事です。 この記事では、書籍「すごいHaskellた... はじめに この記事はHaskell Advent Calendar 2日目の記事です。 この記事では、書籍「すごいHaskellたのしく学ぼう!」(以下すごいHの本)の15章を参考に、Zipperを使ってリストや木構造を"純粋に"操作する方法を紹介します。 初めての挑戦なので自分の中でZipperを整理しようという意図もありますが、その際の知見をお裾分けしてみようと思います。 Zipperって何? Haskellではリストや木構造は再帰的に定義されていています。こうした構造では先頭の値を変更することは容易ですが、途中の値を変更するには以下の手順を踏む必要があります。 変更したい場所まで構造をたどる その場所より後ろにある構造($L_{tail}$)と、前にある構造($L_{init}$)を切り離す $L_{tail}$に新しい値を継ぎ足し、さらに$L_{init}$をつなぐ もし複数の値を




2017/12/12 リンク