[9] CoffeeScript簡易インタプリタの起動と動作確認

サポート・マニュアル 目次へ

このページは、「はじめてのCoffeeScript(清水美樹著、工学社刊、ISBN978-4-7775-1734-3」」のサポートマニュアルです。


前の文書[8]でインストールしたCoffeeScriptの動作確認に、付属の簡易インタプリタを動かしてみます。
そのあと、本書第2章へ進みましょう。

対話型インタプリタの起動

「.bin」フォルダへ移動してcoffeeコマンド

対話型インタプリタの起動には、コマンドプロンプト上で、ホームフォルダから「node_modules/.bin」フォルダまで移動して、「coffee」コマンドを行います。
実行例1のとおりです。
「.bin」フォルダの名前が「ドット」で始まることに注意しましょう。前の文書[8]で、インストールしたCoffeeScriptのフォルダの場所を確認することができます。
実行例1 「.bin」フォルダまで移動して「coffee」コマンド
cd node_modules/.bin
coffee
実行例1により、コマンドプロンプト上に、実行例2のようなプロンプトが表示されます。
これが、起動した対話型インタプリタのプロンプトです。
実行例2 対話型インタプリタのプロンプト
coffee>
図1 実行例1及び実行例2の様子


CoffeeScript.jsの入力テスト

「CoffeeScriptらしい」コードを打ってみよう

入力テストをしてみましょう。せっかくですから、CoffeeScriptの特徴をよく現すようなコードにします。
リスト1をそのまま入力したら、改行キーを入力します。
リスト1 入力するCoffeeScript
"Hello" + name for name in ["Jean", "Paul", "Belmond"]

はじめてのCoffeeScriptの応答

リスト1に対し、実行例3のような応答が現れるでしょう。
実行例3 リスト1への応答
['Hello Jean', 'Hello Paul', 'Hello Belmond']
図2 リスト1を入力して応答を得た様子


何を入力して、何が得られたのか

詳しい説明は本書で行いますが、以下のような意味です。

出力するのは"Hello"+nameの集合体

まず、リスト1は以下の2つの部分に分かれます。
リスト1-1
"Hello" + name
リスト1-2
for name in ["Jean", "Paul", "Belmond"]

リスト1-1は、文字列 "Hello" に変数nameの値をつなげたものを出せ、といっています。
変数nameの内容がリスト1-2に現れています。

nameには、文字列の配列である["Jean", "Paul", "Belmond"] の要素がひとつずつ取り出して与えられます。 そこで、"Hello" +name の値は3種類得られます。
これらは、暗黙のうちに、配列に収められます。

随所で「暗黙の処理」がなされる

厳格な規則の言語であれば、「配列を出力せよ」と言われたら、「配列というオブジェクトを出力することはできない」というエラーになるか、オブジェクトのメモリアドレスに該当するものが出力されるでしょう。

 しかし、CoffeeScriptでは暗黙のうちに、配列を目に見えるような文字列に直して出力しています。
 このような暗黙の処理が多いのも、CoffeeScriptの特徴のひとつです。CoffeeScriptと我々の思惑が一致すれば、プログラミングは非常に楽になりますが、はずれると思うとおりの結果がでなくて苦労します。
 さて、これで、npmコマンドによるCoffeeScriptのインストール法がわかり、動作確認ができました。
 しかし、インタプリタは1行ずつ応答を返すものなので、複数行のスクリプトを読ませようとすると難しいものがあります。
 そこで、本書 第2章では、CoffeeScriptで簡単なプログラムをファイルに書いてみましょう。
 そのファイルの実行環境は、Webブラウザにします。そのために、CoffeeScriptのcoffeeコマンドを用いて、CoffeeScriptのファイルをJavaScriptのファイルに変換させます。どのようなJavaScriptに変換されるのか、見る事ができます。

サポート・マニュアル 目次へ