2013年7月17日水曜日

CoffeeScript入門

どうも,B4のktaroです.
今回は,CoffeeScriptについて記述したいと思います.
まず,CoffeeScriptって何?新しいプログラミング言語?と思っている方の為に解説から.
CoffeeScriptとは・・・
  • プログラミング言語の一種.コードはJavaScriptに変換される
  • JavaScriptと比較して
    • 簡潔
    • 可読性が高い
    • コードを短く記述できる
  • RubyやPythonに影響を受けている
つまり,
「JavaScriptより高性能なRuby・Pythonライクなプログラミング言語」
という事です.

ソースコードはGitHubで公開されており,注目を集めているプロジェクトです.

そんなこんなで,さっそくコードを書いていきたいと思います.
今回は,
  • Mac OS X
  • Node.jsの実行環境導入済み
  • npmのインストール済み
という環境で記述します.
Node.jsとnpmがインストールされていない方は,Google先生に質問するか,CoffeeScriptのサイトに実行環境があるので,そこで実行してみてください.
まずnpmでCoffeeScriptのモジュールをインストールしてパスを通します.
#CoffeeScriptモジュールのインストール
npm install coffee-script
#zshrcに記述
cd
vi .zshrc
export PATH="$PATH:/$HOME/node_modules/coffee-script/bin"
source .zshrc
これだけで,実行環境の設定は終わりです.簡単ですね. 次に,恒例のHelloWorldを表示させます. 任意のファイル(拡張子->.coffee)を作成し,記述します.
#hello.coffee
hello = ->
 console.log("Hello World")
hello()
これだけです.このファイルを先ほど導入したcoffeeコマンドによりコンパイルします.
coffee -c hello.coffee
コンパイルが成功すると,hello.jsというファイルが同ディレクトリに作成されます. 新しく作成されたファイルの中身を覗いてみましょう.
(function() {
  var hello;

  hello = function() {
    return console.log("Hello World");
  };

  hello();

}).call(this);
たったあれだけのコードだけで,変数定義,関数定義,クロージャーもしっかり記述されています.便利ですね。実行します.
node hello.js
Hello World
表示されました!やったね! これだけのコードでは,よくわからないと思うので,とりあえずFizzBuzzのコードを書いてみたいと思います.
#FizzBuzz 1~15
for i in [1...16]
 if i%3 is 0 and i%5 is 0
  console.log 'FizzBuzz'
 else if i%3 is 0
  console.log 'Fizz'
 else if i%5 is 0
  console.log 'Buzz'
 else
  console.log i
CoffeeScriptでは,!===といった曖昧な演算子を使わず, ===であるisを利用します. また括弧やセミコロンも省かれます. 同様にコンパイルを行い,作成されたファイルを見てみましょう.
(function() {
  var i, _i;
  for (i = _i = 1; _i < 16; i = ++_i) {
    if (i % 3 === 0 && i % 5 === 0) {
      console.log('FizzBuzz');
    } else if (i % 3 === 0) {
      console.log('Fizz');
    } else if (i % 5 === 0) {
      console.log('Buzz');
    } else {
      console.log(i);
    }
  }
}).call(this);
実行します.
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
表示されました!やったね! 今回は簡単な説明だったので,興味を持った方はいろいろ調べてみてください.
では,今回はこの辺で終わります.ありがとうございました.

1 件のコメント:

  1. Mohon ijin berpromosi. service Ac segala jenis merk. kami service Ac mencakup wilayah coverage seluruh Surabaya, Gresik, Sidoarjo. kami juga menerima jasa service perbaikan AC bongkar dan pasang AC. pekerjaan kami cepat, tepat, profesional, harga kompetitif di banding harga jasa luaran.
    service ac split sidoarjo
    tukang service ac sidoarjo
    service ac surabaya sidoarjo
    service ac surabaya selatan
    service ac surabaya timur
    service ac surabaya barat
    service ac surabaya utara
    service ac kota surabaya

    SPLIT-TYPE AIR CONDITIONERS
    MULTI-SPLIT AIR CONDITIONERS
    CHILLED WATER FAN COIL UNITS
    VRF AIR CONDITIONERS
    CHILLERS
    WINDOW-TYPE AIR CONDITIONERS

    http://jualjasaacsurabaya.blogspot.com
    Segera hubungi kami, dan kami akan datang kerumah Anda 24 Jam Non Stop.
    (Hari Sabtu / Minggu / Hari Libur buka)
    PIN BBM : 54BE0B4B / 5474CD93 / TELP : 085645475574

    返信削除