はじめに RubyからJavaScript(以下JS)に入門するとき、「なぜかfilterやsomeが思ったとおりに動かない」と感じることがあります。 その原因の一つが JavaScriptではreturnを明示的に書かないと値が返らない という仕様です。 この記事では、Rubyエンジニアがつまずきやすいこの点にフォーカスし、JSとの違いと注意点を紹介します。 Rubyでは「最後に評価された値」が返る Rubyでは、ブロックの最後に評価された値がそのまま戻り値になります。
はじめに RubyからJavaScript(以下JS)に入門するとき、「なぜかfilterやsomeが思ったとおりに動かない」と感じることがあります。 その原因の一つが JavaScriptではreturnを明示的に書かないと値が返らない という仕様です。 この記事では、Rubyエンジニアがつまずきやすいこの点にフォーカスし、JSとの違いと注意点を紹介します。 Rubyでは「最後に評価された値」が返る Rubyでは、ブロックの最後に評価された値がそのまま戻り値になります。
(追記:2012-12-15) 本記事およびこれに続くその2,その3をまとめて電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、誤記の修正およびメディア向けの調整を行っています。 電子書籍「Ruby脳が理解するJavaScriptのオブジェクト指向」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になります。購入すると、入力したメールアドレスにコンテンツのDLリンクが送られてきます。 購入ご検討のほどよろしくお願いしますm(__)m 関連記事: 電子書籍「Ruby脳が理解するJavaScriptのオブジェクト指向」EPUB版をGumroadか
sstephenson/execjs - GitHubrubymaverick/execjs-async - GitHubできることと起動方法とエンジンの違いRubyスクリプトからJavaScriptコードを実行できるV8, node, spidermonkey, rhino などの中からそのとき利用できるエンジンを autodetect して実行してくれる環境変数からエンジンを指定できる ExecJS::Runtimes の中で定義されている RubyRacer や Node の名前で export EXECJS_RUNTIME=Node などと指定する例えば Rhino は therubyrhino gem に依存する。こうした依存 gem は自動では入らないので注意が必要何の gem も準備していなければ execjs 1.2.4 の段階では node.js, JavaScriptC
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く