今日も前進Lispの勉強
関数宣言の使い方を確認。
関数定義は defun を使う。これは「define function」の略である。
定義例
(defun testfunc(number)
(* 10 number))
この関数は、引数で渡した数値に10を掛けて返す。
この関数を定義後、 C-x C-e で評価してエラーがなければ、関数が登録されるので、評価後は関数を利用することができる。
関数を使うときは、以下のとおり。
(testfunc 5)
上記関数を実行した結果は、
50
となる。
ここまでは基本中の基本でまだ簡単。
さらに、let の勉強。
letはローカル変数宣言・定義に利用。
2つの異なる関数内で buf という変数を利用した場合、それぞれの関数内で、それぞれ buf を呼び出したとしたら、お互いそれぞれのローカル変数であることを期待する。
しかし、let を使って変数を宣言しないと、これらの識別はされない模様。
Lispでは基本宣言がグローバルなんかな?時間があるときに検証してみよう。今回は基本的な使用方法のみにとどめる。
以下使用例
(let *1
(message "%s_%s" name1 name2))
評価結果は、
cat_kei
となる。以上。
今日はここまで。
*1:name1 'kei) (name2 'cat