削除された内容 追加された内容
編集の要約なし
タグ: モバイル編集
M編集の要約なし
4 行
 
==Schemeの紹介==
[[w:Scheme|Scheme]](スキーム)とは[[w:プログラミング言語|プログラミング言語]]のひとつです。
Schemeの最大の魅力はそのシンプルさにあります。おそらく([[w:Brainfuck|Brainf***]]などのジョーク言語を除けば)現存するあらゆる言語のなかでも最も言語仕様が小さい言語で、つまりはもっとも習得のしやすい言語であるといえます。また、実用にもじゅうぶん耐えうるだけの機能を持ち、プログラミングの楽しさを体験するにはまさにうってつけです。すでに[[C言語]]や[[Perl]]などの他の言語を習得している方にとっても、プログラミングの理解を深める上で覚えておいて損はない言語です。
 
160 行
 
==束縛==
束縛とは変数に値を関連付けることです。例を見てみましょう。手続きdefineは第一引数の変数に第2引数の値を束縛します。値が束縛された変数を評価すると、その変数に束縛された値が返ります。つまり、束縛された値を取得するには、単にその変数を書くだけできます。
 
>(define year 2004)
182 行
 
==リスト==
Schemeなど[[w:Lisp|Lisp]]系の言語が何故これほどまでにシンプルな構文にこだわったかには訳があります。Schemeプログラムは「リスト」と呼ばれるツリー状の構造をとるようになっているのです。Lispが[[w:人工知能|人工知能]]研究の分野に使われてきたのは、プログラム上でプログラムを組み立てるのが非常に容易だからです。
 
たとえば、「(+ 1 (- 2 3))」という式は、実は次のようなリストです。
225 行
*<nowiki>*</nowiki> 乗算(「×」ではなく「*」を使います)
*/ 除算(「÷」ではなく「/」を使います)
これらの[[w:四則演算|四則演算]]の手続きは、整数や小数など数値型の値に適用できます。これだけでもSchemeを簡易電卓として使えそうですね。
 
===display===
233 行
1010
 
表示できるのは、Schemeの処理系が受け付けるすべての S 式です。数値、文字、文字列、クオートされたリストなど、何でも表示できます。ただし、関数は内部表現が処理系毎に異なることに注意して下さい。(display 10) の評価値は、未定義です。他の変数に束縛する意味はありません。複数の値を表示するとき、Scheme では以下のように書くことができます。
 
>(define x "Xvalue")
291 行
hoge ;quoteを使うと、変数は変数そのものを返す
 
特別な構文(Schemeの機能の「構文」ではなく、一般的な意味の構文)として、「'(+ 1 2)」と書くことができます。「(quote (+ 1 2))」まったく同じ意味ですが、字数が少なく見やすくなります。このように、書きやすさ、見やすさのために導入された構文を[[w:糖衣構文|糖衣構文]](シンタックスシュガー, syntactic sugar, syntax sugar)といいます。
 
== 関連項目 ==