総称関数とメソッドの定義
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/15 19:06 UTC 版)
「Common Lisp」の記事における「総称関数とメソッドの定義」の解説
defgenericマクロは、総称関数(ジェネリック関数)を定義する。defmethodマクロはメソッドを定義する。総称関数はメソッドの集合である。メソッドはそのパラメータとして渡されたクラスやオブジェクトによって特定化される。総称関数が呼び出されると、マルチメソッドディスパッチ(多重メソッドディスパッチ)により、実際に使用されるメソッドが決定される。 (defgeneric add (a b)) (defmethod add ((a number) (b number)) (+ a b)) (defmethod add ((a string) (b string)) (concatenate 'string a b)) (add "Zippy" "Pinhead") ; returns "ZippyPinhead" (add 2 3) ; returns 5 総称関数もファーストクラスのデータ型である。総称関数やメソッドには上に記載したよりも、もっと豊富な機能が存在する。 詳細は「Common Lisp Object System」を参照
※この「総称関数とメソッドの定義」の解説は、「Common Lisp」の解説の一部です。
「総称関数とメソッドの定義」を含む「Common Lisp」の記事については、「Common Lisp」の概要を参照ください。
- 総称関数とメソッドの定義のページへのリンク