「Common Lisp」の版間の差分

提供:MonoBook
編集の要約なし
編集の要約なし
 
(同じ利用者による、間の17版が非表示)
1行目: 1行目:
'''Common Lisp'''(読み:こもんりすぷ)とは、[[関数型]]の[[プログラミング言語]]である。
'''Common Lisp'''(読み:こもんりすぷ)とは、[[関数型]]の[[プログラミング言語]]である。
単に「LISP」という場合は99%くらいCommon Lispのことである。
 
単に「[[LISP]]」という場合は51%くらい「Common Lisp」のことであり、49%くらいは「[[AutoLisp]]」のことなので注意しよう。


主に[[emacs]]の設定ファイルや拡張機能を実装するプログラミング言語として使われている。
主に[[emacs]]の設定ファイルや拡張機能を実装するプログラミング言語として使われている。


== Lisp 入門 ==
== Lisp 入門 ==
この記法が基本となる。
この記法が基本となる。関数名に続き半角スペース区切りで引数を指定する。
(関数名 引数 引数 ...)
<source lang="lisp">
(関数名 引数 引数 ...)
</source>
 
四則演算も同じ。あくまで関数である。
<source lang="lisp">
(+ 1 2)
(- 3 4)
(* 5 6)
(/ 7 8)
</source>
 
[[レキシカル変数]](他言語でいうローカル変数)への代入はletを使う。
一行で何個もの変数を初期化できるせいで括弧が多いぞ。
<source lang="lisp">
(let ((変数名 値)))
(let ((変数名1 値) (変数名2 値)))
(let ((a 1)))
</source>


四則演算の同じ。四則演算の記号も標準搭載の関数である。
条件分岐で定番のifも似たような感じだ。
(+ 1 2)
<source lang="lisp">
(- 3 4)
(if (条件) (thenのとき) (elseのとき))
(* 5 6)
</source>
(/ 7 8)
 
関数の定義はdefunを使う。一個目の括弧内が引数だ。
<source lang="lisp">
(defun 関数名 (引数 引数 引数 ...) (処理) (処理) (処理) ...)
</source>
 
関数の戻り値は「最後の処理」だ。
<source lang="lisp">
(defun example (x)
  (print "Processing...")
  (* x x)) ; この式の結果が戻り値
</source>


以上
以上
<amazon> Common LISP </amazon>
[[category: LISP]]

2025年4月4日 (金) 01:29時点における最新版

Common Lisp(読み:こもんりすぷ)とは、関数型プログラミング言語である。

単に「LISP」という場合は51%くらい「Common Lisp」のことであり、49%くらいは「AutoLisp」のことなので注意しよう。

主にemacsの設定ファイルや拡張機能を実装するプログラミング言語として使われている。

Lisp 入門[編集 | ソースを編集]

この記法が基本となる。関数名に続き半角スペース区切りで引数を指定する。

(関数名 引数 引数 ...)

四則演算も同じ。あくまで関数である。

(+ 1 2)
(- 3 4)
(* 5 6)
(/ 7 8)

レキシカル変数(他言語でいうローカル変数)への代入はletを使う。 一行で何個もの変数を初期化できるせいで括弧が多いぞ。

(let ((変数名 )))
(let ((変数名1 ) (変数名2 )))
(let ((a 1)))

条件分岐で定番のifも似たような感じだ。

(if (条件) (thenのとき) (elseのとき)

関数の定義はdefunを使う。一個目の括弧内が引数だ。

(defun 関数名 (引数 引数 引数 ...) (処理) (処理) (処理) ...)

関数の戻り値は「最後の処理」だ。

(defun example (x)
  (print "Processing...")
  (* x x)) ; この式の結果が戻り値

以上