Amber

A Language for High-Level Programming with Self-Extension

チュートリアル1: 起動・終了、スクリプトの実行

Hello World

$ amber

とタイプして下さい。正しくインストールされていればシェルが起動し、

amber:1>

というプロンプトが表示されます。 ここでAmberの式や文を入力すれば、それが評価されその結果が表示されます。 例えばputs("Hello World!")と入力してみましょう。

amber:1> puts("Hello World!")
Hello World!
=> nil

Hello World!という文字列が表示され、この文の実行結果がnilであるという事が判ります。 nilというのは、この実行結果には特に意味が無いという事を表しているのだと思って下さい。詳しくは後の回で説明します。

別の例として1 + 2 * 3と入力してみましょう。

amber:2> 1 + 2 * 3
=> 7

この場合は実行結果が7であるという事が判ります。

シェルを終了するにはexitという文を実行します。

amber:3> exit

ファイルに書いたスクリプトを実行する

以下のような内容のファイルを用意して下さい。ファイル名はhello.abとして下さい。

puts("Hello World!")

.abという拡張子はそれがAmberのスクリプトである事を表します。 これを実行するにはコマンドプロンプトで

$ amber hello.ab

とタイプして下さい。Amberはスクリプト言語なのでコンパイルは不要です。 実際に実行してみると

$ amber hello.ab
Hello World!
$

となります。

またシェルスクリプトなどと同様にシェバング行を用いる事が出来ます。つまり、以下の様にスクリプトの冒頭に#!から始まる行を記述し

#!/usr/bin/amber

puts("Hello World!")

実行可能属性を付与すれば直に実行する事が出来ます。

$ chmod +x hello.ab
$ ./hello.ab
Hello World!

シェバング行だけでなく#から行末はコメントとして扱われます。

loadとimport

Amberのシェルから関数loadによってスクリプトを呼び出す事が出来ます。

amber:1> load("hello.ab")
Hello World!
=> nil

また、関数importも使用可能です。

amber:1> import("hello")
Hello World!
=> true
amber:2> import("hello")
=> false

importload

  • 同一のファイルは1度しか実行しない。
  • 拡張子の”.ab”を省略出来る

などの点で異なっていて、ライブラリの読み込みに利用します。 ライブラリの読み込みは頻繁に使用しますので以下のような専用の構文が用意されています。

amber:1> import hello

amber:2> import foo.bar.baz

などです。後者はimport("foo/bar/baz")と同じ挙動をします。