トラック
/
Idris
Idris
/
演習
/
レンズ使い
レンズ使い

レンズ使い

上級

説明

レンズを使って、入れ子のレコードを更新します(イミュータブルなデータを扱うプログラミング言語向け)。

入れ子になったイミュータブルなレコードのフィールドを更新するのは、なかなか面倒です。 こうした場合のコードは、構造が深くなるほど煩雑になります。 たとえば、Personの中にAddressがあり、そのAddressにStreetがあり、さらにそのStreetにNumberがあるとします。このNumberを更新するには、新しいNumberを持つStreetを新しく作り、次にその新しいStreetを持つAddressを新しく作り、最後にその新しいAddressを持つPersonを新しく作る必要があります。 もう混乱してきましたか?

この問題を解決する方法の1つが、レンズを使うことです。

レンズを使って、レコードにアクセスする関数をいくつか実装してみましょう。 テストスイートは、レンズをまったく使わないやり方にも対応しているので、別のアプローチを試すこともできます。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Idris Exercism

レンズ使いを始める準備はできましたか?

Exercismに登録すれば、58個の演習、そして本物の人間によるメンタリングとともに、Idrisを学んでマスターできます。すべて無料です。