Lisp-basic-syntax
LISP-基本的な構文
LISPの基本的な構成要素
LISPプログラムは3つの基本的なビルディングブロックで構成されています-
atom
list
ひも
*atom* は、連続する文字の数または文字列です。 数字と特殊文字が含まれています。
以下は、いくつかの有効な原子の例です-
hello-from-tutorials-point
name
123008907
*hello*
Block#221
abc123
- リスト*は、括弧で囲まれた一連のアトムおよび/または他のリストです。
以下はいくつかの有効なリストの例です-
( i am a list)
(a ( a b c) d e fgh)
(father tom ( susan bill joe))
(sun mon tue wed thur fri sat)
( )
*string* は、二重引用符で囲まれた文字のグループです。
以下は、いくつかの有効な文字列の例です-
" I am a string"
"a ba c d efg #$%^&!"
"Please enter the following details :"
"Hello from 'Tutorials Point'! "
コメントを追加する
セミコロン記号(;)は、コメント行を示すために使用されます。
例えば、
(write-line "Hello World") ; greet the world
; tell them your whereabouts
(write-line "I am at 'Tutorials Point'! Learning LISP")
実行ボタンをクリックするか、Ctrl + Eを入力すると、LISPはすぐに実行し、返される結果は-
Hello World
I am at 'Tutorials Point'! Learning LISP
次へ進む前の注目すべきポイント
以下は、注意すべき重要な点の一部です-
- LISPの基本的な数値演算は、+、-、*、および/です。
- LISPは、関数呼び出しf(x)を(f x)として表します。たとえば、cos(45)はcos 45として記述されます。
- LISP式は大文字と小文字を区別せず、cos 45またはCOS 45は同じです。
- LISPは、関数の引数を含むすべてを評価しようとします。 3種類の要素のみが定数であり、常に独自の値を返します
- 番号
- 論理的な真を表す文字* t、*。
- 空のリストと同様に、論理falseを表す値* nil、*。
LISPフォームについてもう少し
前の章で、LISPコードの評価プロセスは次のステップを踏むことを述べました。
- リーダーは、文字列をLISPオブジェクトまたは s-expressions に変換します。 評価者は、s式から構築されるLisp フォーム*の構文を定義します。 この第2レベルの評価は、どのS式がLISP形式であるかを決定する構文を定義します。
これで、LISPフォームが可能になります。
- アトム
- 空または非リスト
- 最初の要素として記号を含むリスト
評価者は、有効なLISP形式を引数として受け取り、値を返す関数として機能します。 これが、式/フォーム全体を引数として評価者に送信しているため、* LISP式をかっこで囲む理由です。
LISPの命名規則
名前または記号は、空白、開き括弧と閉じ括弧、二重引用符と単一引用符、バックスラッシュ、コンマ、コロン、セミコロン、垂直バー以外の任意の数の英数字で構成できます。 名前にこれらの文字を使用するには、エスケープ文字(\)を使用する必要があります。
名前には数字を含めることができますが、数字だけで読み取られるため、完全に数字で構成されるわけではありません。 同様に、名前にピリオドを含めることができますが、ピリオドだけで名前を作成することはできません。
単一引用符の使用
LISPは、関数の引数やリストメンバーを含むすべてを評価します。
時には、文字どおりアトムまたはリストを取得する必要があり、それらを評価したり、関数呼び出しとして処理したりしないようにします。
これを行うには、アトムまたはリストの前に単一引用符を付ける必要があります。
次の例はこれを示しています。
main.lispという名前のファイルを作成し、次のコードを入力します。
(write-line "single quote used, it inhibits evaluation")
(write '(* 2 3))
(write-line " ")
(write-line "single quote not used, so expression evaluated")
(write (* 2 3))
実行ボタンをクリックするか、Ctrl + Eを入力すると、LISPはすぐに実行し、返される結果は-
single quote used, it inhibits evaluation
(* 2 3)
single quote not used, so expression evaluated
6