削除された内容 追加された内容
82 行
詳しい構文は後ほど説明します。
 
==式の要素==
==値と型、リテラル、変数==
プログラムとは式そのものですから、[[w:ソースコード]]では数字や文字列といったデータを記述していく必要があります。プログラミング言語にはそれぞれこのようなデータを書くための構文があり、このコード中に直接書かれた値を「リテラル」(literal)と呼びます。
 
===数と型、リテラル、変数===
 
Schemeでソースコード中に数値を記述するには、そのまま半角数字で表記し、これを「数値リテラル」といいます。小数は小数点をピリオドで入力し、負の数を示すマイナス記号(-)も使えます。「2004」「3.14159265358979」「-273.15」などです。
 
===文字列リテラル===
 
文字列の値を記述する場合は、その文字列をダブルクォーテーション(")で囲んで記述し、これを「文字列リテラル」ます。これはソースコード上で数値や変数(後述)と区別するためであり、実際の評価にこのダブルクォーテーションが影響することはありません。たとえば、「"古今"」と「"東西"」というふたつの文字列をつなげるとすると、「"古今""東西"」なのではなく「"古今東西"」となります。また、「123」は数値ですが「"123"」は文字列です。「"Hello."」「"こんにちは。"」などです。
 
リテラルを評価すると、そのリテラルそのものが示す値を返します。「1」を評価すると「1」、「"こんにちは"」を評価すると「"こんにちは"」がそのまま返ります。
値には必ずその値の種類を示す「型」を持ちます。「2004」は整数型、「"2004"」は文字列型ですからまったく別のものです。値の型によってどのような処理ができるのかが変わります。たとえば整数型どうしは加算できますが、整数型と文字列型は加算できません。どの型にどんな処理が可能かは後述します。
 
===型===
「[[w:変数|変数]]」は束縛(後述)する領域を識別する文字列です。これらはそのまま[[w:ソースコード|ソースコード]]中に書くことができますが、空白文字(半角スペースと改行、タブ文字)や丸括弧などの一部の記号は使えません。「+」「[[w:hoge|hoge]]」「piyo」などです。
 
値には必ずその値の種類を示す「型」(type)を持ちます。「2004」は整数型、「"2004"」は文字列型ですからまったく別のものです。値の型によってどのような処理ができるのかが変わります。たとえば整数型どうしは加算できますが、整数型と文字列型は加算できません。どの型にどんな処理が可能かは後述します。
一続きのリテラルに空白文字を含めることは出来ません。「12345」を記述しようとして「12   345」などと書くと、「12」と「345」と別の数値として解釈されてしまいます。以後、値を表記するときは常にこれらの表記に従って説明します。
 
===シンボル===
リテラルを評価すると、そのリテラルそのものが示す値を返します。「1」を評価すると「1」、「"こんにちは"」を評価すると「"こんにちは"」がそのまま返ります。
[[w:変数|変数]]シンボル(symbol)は束縛(後述)する領域を識別する文字列です。これらはそのまま[[w:ソースコード|ソースコード]]中に書くことができますが、空白文字(半角スペースと改行、タブ文字)や丸括弧などの一部の記号は使えません。「+」「[[w:hoge|hoge]]」「piyo」などです。シンボルを評価すると、そのシンボルに束縛された値が返ります。
 
一続きのリテラルに空白文字を含めることは出来ません。「12345」を記述しようとして「12   345」などと書くと、「12」と「345」と別の数値として解釈されてしまいます。以後、値を表記するときは常にこれらの表記に従って説明します。
 
==コメント==