scalaのDSLの片鱗に触れる。scratch2012-02-12scalaのDSLの片鱗に触れる。見るJavaで手が届かないかゆいところに手が届く感はやっぱり素晴らしい。第13章では公開と非公開の話。protectedとメンバーにつけた場合、Javaだとパッケージ内から見れば丸見えになる。Scalaはデフォルトが継承しないと公開されない。「デフォルトでは」なので、protected[ABC]とABCにパッケージ名を記入すればJavaのようにパッケージ内から丸見えにできる。読み始めて二週間、上の例もそうだけど、色んな書き方ができる素晴らしさをひしひしと感じる。Scalaってこんな書き方ができるのね、と感心することが多い。今回感心したのはScalaのDSLの部分。第14章でアサーションと単体テストの説明があるんですが、振る舞い駆動開発の例を紹介します。JavaでもJUnitとかありますが、Scalaも沢山単体テストの方法があります。その内の一つがScalatestです。Scalatestは以下のように書きます。StringShouldSuite).execute()なんというか、普通の英文法で書いているみたいな自然さ。Scalaのコンパイラはかなりアグレッシブなことがわかります。(true)shouldやcontainsはScalaの文法のように見えますが、単なる関数です。"+"という関数を呼んでいるだけです。この辺りに言語実装者の拘りというか、アグレッシブさが見えます。次回以降も面白そうです。23:45scalaのDSLの片鱗に触れる。読んでて気になったところ。Scalaが公開されて数日経ちました。(2)リンクヘルプはてなブログお知らせはてなブログをはじめよう!yosuke_furukawaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。