感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

CoffeeScriptで変数の宣言、関数の宣言するサンプル

<スポンサーリンク>

変数

CoffeeScriptの変数はvarをつけなくてもグローバル変数になることはない。
JavaScriptだったら、varを宣言し忘れたらグローバル変数になってしまうが、CoffeeScriptグローバル変数を排除することで解決している。
CoffeeScriptは無名関数でスクリプトをラップして、ローカル変数として扱えるようにしている。

myVar = "test"

みたいな感じ。
JavaScriptだったら、

var myVar;
myVar = "test";

と書く。

CoffeeScriptグローバル変数を宣言したいときは、

exports = this
exports.myVar = "test"

のように書く。
なお、行末のセミコロンは必要ない。

関数を作る

CoffeeScriptは空白でインデントしてブロックを作る。
関数の定義には->という記号を使う。

引数なしの関数を作る場合はこんな感じ。

retBar = -> "Bar"

val = retBar()
console.log(val)

say = -> console.log("No Param")

say()

こいつは結果として以下のようにコンソールに表示される。

Bar
No Param 

引数ありの例だと、以下のようになる。

message = "Coffee!"

sayParam = (val) ->
	console.log("引数:" + val)

sayParam(message)

実行すると以下のように表示される。

引数:Coffee! 

最後に、CoffeeScriptで可変長の引数を指定してみたい。

sumNum = (nums...) ->
	result = 0
	nums.forEach (n) -> 
		result += n
	result

console.log(sumNum(1,2,3))
console.log(sumNum(11,22,33,44))

CoffeeScriptでは可変長引数は
func = (val...) ->
で定義する。
上記のサンプルを実行した結果、コンソールには以下のように表示される。

6
110 

可変長引数を渡すことができた!

参考

英語だけどものすごく良くまとまってる!
http://arcturo.github.io/library/coffeescript/02_syntax.html

今日買った本。
単体でも読みやすいけど、英語版のサンプルと一緒に読んだほうが理解が進むと思う。