CoffeeScriptの動作確認や学習を手軽に行う方法

coffeeコマンドに--compileオプションを付けると、指定した.coffeeファイルをコンパイルして.jsファイルを作成する。

これはCoffeeScriptの最も基本的なCoffeeScriptの使い方だ。

 

hello.coffeeファイルからhello.jsファイルを作成する例

>coffee --compile hello.coffee

 

この方法は、手軽かつ直感的で、分かりやすいといえば分かりやすいが、毎回コンパイルを行うには時間的なコストが掛かり過ぎる。

CoffeeScriptの学習をするのであれば、コンパイル手順を抜きで動作確認できる方法があるため、これから紹介する方法を使うことをオススメする。

対話型実行

CoffeeScriptのちょっとした動作確認を行うには、引数をつけずにcoffeeコマンドを使用すると、対話型の実行モードになる。

>coffee
coffee>

([Ctrl – D」キーストロークで対話モードを終了できる)

 

または、明示的に--interactiveオプションを付けた場合も同様に対話型実行モードになる。

>coffee --interactive
coffee>

 

CoffeeScriptのコードを入力して、Enterを押せば、逐次実行され、結果が表示される。

>coffee
coffee> killedCharacter = ‘クリリン’
‘クリリン’
coffee> mode = if killedCharacter == ‘クリリン’ then ‘Super’ else ‘Normal’
‘Super’
coffee>

 
 

クラス宣言やメソッド宣言等、複数行をいっきに実行する必要がある場合には、「Ctrl – V」キーストロークで、複数行モードになる。

>coffee
coffee> killedCharacter = ‘クリリン’
‘クリリン’
coffee> mode = if killedCharacter == ‘クリリン’ then ‘Super’ else ‘Normal’
‘Super’
------>

 

サイヤ人のクラス「Saiyan」を宣言してみる。

------> class Saiyan
⋅⋅⋅⋅⋅⋅>   constructor: (@name, @power) ->
⋅⋅⋅⋅⋅⋅>
⋅⋅⋅⋅⋅⋅>   fight: (enemySaiyan) ->
⋅⋅⋅⋅⋅⋅>     @name + ‘ ‘ + (if @power > enemySaiyan.power then ‘win’ else ‘lose’)
⋅⋅⋅⋅⋅⋅>

 

必要な宣言が終わったところで、再び「Ctrl – V」キーストロークを行う。

------> class Saiyan
⋅⋅⋅⋅⋅⋅>   constructor: (@name, @power) ->
⋅⋅⋅⋅⋅⋅>
⋅⋅⋅⋅⋅⋅>   fight: (enemySaiyan) ->
⋅⋅⋅⋅⋅⋅>     @name + ‘ ‘ + (if @power > enemySaiyan.power then ‘win’ else ‘lose’)
⋅⋅⋅⋅⋅⋅>
[Function: Saiyan]

複数行入力モードが終了し、[Function: Saiyan]と表示された。(Saiyanクラス宣言が正常にされたため)

 

その後は、複数行入力が不要であれば、1行入力モードのまま命令を実行させていけばいい。

coffee> goku = new Saiyan(‘悟空’, 100000)
{ name: ‘悟空’, power: 100000 }
coffee> vegeta = new Saiyan(‘ベジータ’, 100)
{ name: ‘ベジータ’, power: 100 }
coffee> goku.fight(vegeta)
‘悟空 win’

 

このような、対話型実行機能を、REPL(Read-eval-print loop)と言われる。

CoffeeScript公式サイトでは、単に「Start the CoffeeScript REPL」という一文だけで紹介されている。

本家サイトのTRY COFFEESCRIPTを利用する

本家サイトの上部メニューにある「TRY COFFEESCRIPT」をクリックすると、CoffeeScriptのコードを入力することができるウィンドウが表示される。

 

 

 

ここの左側にCoffeeScriptコードを入力すると、JavaScriptに変換されたコードが右側に逐次表示される。

「Run」ボタンをクリックすれば、CoffeeScriptが実行されて動作結果を確認することができる。

 

表示確認をするためには、JavaScriptのalert関数を毎回呼び出す必要があるため、coffeeコマンドを対話モードで実行する場合と比べて、若干手間が掛かる。

しかし自分の環境にCoffeeScriptがインストールされていなくてもCoffeeScriptの学習が手軽にできるため、職場の休憩時間に少し触ってみたり、人にCoffeeScriptを紹介する場合に有効利用できると思う。

コメントを残す

トラックバック: http://pgnote.net/wp-trackback.php?p=701