CoffeeScriptを触ってみた
CoffeeScriptを触ってみたのでその感想
CoffeeScriptとは
AltJSの一つです.文法はPythonやRubyに似ています.
CoffeeScriptの導入
CoffeeScriptを導入するには以下の手順でコマンドをインストールしていきます. もし,導入する前に少し触ってみたいのであれば,公式サイトの「TRY COFFEESCRIPT」で試せます.
- npm (node package manager) のインストール
- Node.jsをインストールすると一緒にインストールされます
- coffeeコマンドのインストール
npm install -g coffee-script
でインストールできます (失敗する場合はsudoで管理者として実行してみてください)
JavaScriptのソースコードを生成するまで
手順は以下の通りです.
- *.coffee を作成
- 作成した *.coffee を編集
coffee --compile --output . *.coffee
で編集したファイルをコンパイル
3まで実行すると,--output
オプションで指定したディレクトリに*.jsが生成されます.
触ってみた感想
AltJSはやはり書きやすいし見やすいなと思いました.以前TypeScriptを触ったことがありましたが,その時も「JSを書くよりも断然見やすい!」となったのですが,CoffeeScriptは文法がPythonやRubyに似ていることもあってより見やすく感じました.
もう少し触ったら文法などを記事にしてみようかと思います.
Titanium 4.x系でAndroidのPush通知が来ないバグについて
TitaniumでAndroidのPush通知を実装したときに,タスクがない状態で通知を受け取ってもステータスバーに表示されず,3日ほど粘ったが,どうやらTitanium自体のバグらしい.
このページによるとこのバグは3.5.0.GAからあるらしい.
fix versionは5.0.0って書いてあるけど,4.2.0.v20150812103137で修正が反映されているっぽい.
Rubyの文字列とシンボルの比較でつまづいた
とあるgemパッケージを使ってた際につまづいた...
タイトルの通り,文字列とシンボルを比較するとfalseになって想定した動きをしてくれないところでつまづいた. 結果から言うと,パラメータの渡し方が悪かった(文字列を渡していた)ようでそれをシンボルに変換して渡せばうまくいった. また,シンボルについてよくわかっていなかったのでこれを機会に調べてみた.
シンボルとは
ドキュメントによると
シンボルは任意の文字列と一対一に対応するオブジェクト
シンボルは、ソース上では文字列のように見え、内部では整数として扱われる
だそう.
等値にしたい場合
等値にしたい場合は
のどちらかを用いて文字列かシンボルに合わせて比較してやるとうまくいく.
以下は具体的なコード.
'hoge' == :hoge.to_s # シンボルを文字列に変換 #もしくは 'hoge'.to_sym == :hoge # 文字列をシンボルに変換