読書感想文あくまで自分用のメモ。今後の実装の時に、簡単に振り返るための記事。見る前回の記事の続き。blog.ishikawa.tech少し順番がおかしいが、今回の記事では、structとgeneric周りについてやっていく。これは、本では9章に書いてある内容。structLispにも構造体というデータ構造は存在する。favorite-color)上のように、構造体を定義できる。この構造体を利用するには、以下のように、defparameterを用いる。"blue"))ここで注目なのが、make-personのpersonの部分は構造体に合わせて動的に生成される、という点。動的すぎて、不安になる。genericこの章で扱うのは、データをgenericに扱うためのもの例えば、リストか配列に入っている数値のグループを足し合わせたい。言った際に、同じ機能のものを型の違い、つまりデータの取り出し方の違いだけで、複数書かないとダメなのか。そんなことはなく、lispには値をgenericに扱うための機構がいくつも用意していある。例として、ジェネリックライブラリ関数、型述語、defmethod、ジェネリックアクセサなど。これらの機能を使うと、defstructで作られたユーザー定義型に関しても、一つのコードで対応できるようになる。引数の型によらないコードを書くことを考えるが、この場合は、データのチェックを他の誰かにやってもらうのが楽。そこで、もっともよく使われるのは、シーケンス関数そのうちの一つが、length関数。これはいろんな型を取れる。これはどういうことかというと、型によって、処理を書き分けることができるようになる、ということ。listが渡ってきた場合はその要素数を返すが、文字列が渡ってきた場合、文字数を返す、など。reduce関数これらのシーケンス関数の中でも、特に便利なものの一つがreduce関数。5)))mapmapは、今までのmapcarとほぼ同じ動作をする。Lispの基礎的な文法4あくまで自分用のメモ。Lispの基礎的な文法3あくまで自分用のメモ。Lispの基礎的な文法2あくまで自分用のメモ。Lispの基礎的な文法あくまで自分用のメモ。Stop."を解決するdebファイルを用いてDebianのLinuxカーネルを簡単にアップデートする月別アーカイブはてなブログをはじめよう!dooooooooingggggさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。