Part2: Hello, world

ダイヤ「さて、今回は簡単なコードを書いて動かしてみますわ。Schemeプログラムの実行方法を覚えてください」


ダイヤ「プログラムというのはファイルに書いてそれを実行することが多いですし、Schemeでももちろんその方法は可能です」
果南「その言い方だと、REPLがある?」
ダイヤ「・・・果南さん?」
果南「んー、何のこと?」
ダイヤ「いくらアニメで影のある謎めいたキャラを獲得したからといって、そういう意味深な発言をされては私の立つ瀬がなくなりますわ!」
花丸「お金と権力も鞠莉さんの前に霞んじゃって、既に立つ瀬は残ってないと思うずら」
ダイヤ「は、花丸さんまでそんなことを・・・!」
果南「アイドルの知識もルビィの方が詳しそうだしね」
ダイヤ「ぐぬぬ・・・」

ダイヤ「気を取り直して続けますわ。まずは、このコードを書いてみてください」

果南「Hello worldがHello worldじゃないのはもはや様式美」
ダイヤ「hello.scmとか適当な名前で保存します。文字コードはUTF-8にしますわ。それで、goshコマンドで実行します」

花丸「・・・えーと、なんかおかしいずら」

果南「なんだろ、文字コード?」
花丸「UTF-8にしてるんだけど・・・」
ダイヤ「それはWindowsのコマンドプロンプトがCP932だからですわ。このように、特にマルチバイト文字を扱うのにWindowsは適していません」
花丸「いきなり出鼻をくじかれたずら・・・」
ダイヤ「WindowsでやるならCygwinを使うのが手っ取り早いと思いますわ」


ダイヤ「次はREPLです。REPLはRead-Eval-Print-Loopの略で、インタラクティブにコードを入力して実行する仕組みですわ」

ダイヤ「まずはコンソールからgosh -iと入力するとインタラクティブセッションが起動しますわ」
花丸「またはまる予感・・・」
ダイヤ「Windowsではそんな時のためのEmacsですわ。前回の設定がしてあればC-c Sでインタプリタが起動しますから、それなら文字コードの問題もありません」

ダイヤ「先ほどと同じコードを入力してみてください」

ダイヤ「こんなふうに、入力したコードがその場で評価されますわ」
果南「ファイル使わないのは楽でいいね」
花丸「最後の#<undef>ってさっきはなかったずら」
ダイヤ「今はまだ気にする必要はありませんわ。まずは(display "xxx")で文字列を表示、(newline)で改行、程度を覚えれば十分です」


ダイヤ「プログラムの動かし方が分かったところで、次回からはデータ型について見ていきます。その後に関数や制御構文の話に進みますわ」


LINEで送る
Pocket


返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です