タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Rubyとdslに関するtyabeのブックマーク (3)

  • RubyでのDSLの作り方 - http://rubikitch.com/に移転しました

    Jay Fields' Thoughts: Implementing an internal DSL in Ruby RubyでのDSLの作り方をexpectationsというtesting frameworkを例にとって説明している。 やっぱassert_equalってオブジェクト指向っぽくなくてカッコ悪いよねwここはDSLでカッコよく書きたいものだ。 彼の言いたいことを日語で超要約してみる。 まず、どういうふうに書きたいかを決める。こんな感じにしたい。 Expectations do # テストだよというブロック expect :expected do # :expectedが期待される値 :expected # ブロックの評価結果が実際の値 end end これから、これをRubyスクリプトとして実行可能な形式にする。 まず、DSLを読み込んだら(実行したら)、Expectatio

    RubyでのDSLの作り方 - http://rubikitch.com/に移転しました
    tyabe
    tyabe 2011/02/10
  • 第2回 内部DSLへの道 | gihyo.jp

    今回は内部DSLの詳細、またその実践としてRubyを例にした実装について解説します。 内部DSLに適した言語 - Ruby 2005年12月にRuby on Railsの正式版のリリース以降、そのフレームワークのみならず、プログラミング言語Rubyを支持、採用するプログラマーが増えてきました。 そのことを端的に表しているのが、達人クラスのプログラマー、そしてアーキテクトの存在です。一人は『達人プログラマー[1]⁠』⁠『⁠プログラミングRuby[2]⁠』などの著書で知られているDave Thomas氏です。もう一人は『エンタープライズ アプリケーションアーキテクチャパターン[3]⁠』などで著名なアーキテクト Martin Fowler氏です。Fowler氏が属している会社 - ThoughtWorks社[4]の多くのプロジェクトは、Rubyで開発していると聞いてます。 なぜ、彼等は、Ruby

    第2回 内部DSLへの道 | gihyo.jp
    tyabe
    tyabe 2011/02/10
  • 第1回 DSLとは? | gihyo.jp

    第1回目は、DSLの基的な概念について説明します。 DSL概要 DSL(Domain Specific Language)は、ドメイン固有言語と訳されてます。DSLは、Java、C#などの汎用言語とは違い、ある特定の種類の問題に特化したコンピュータ言語です。 今回の連載では、DSLの世界を解き明かします。そして、実際にDSLをつくることで、よりDSLの理解を深め、「⁠用法・用量を守って使える」ようになるのが、今回のゴールです。 DSLの必要性 なぜ、DSLを学ぶ必要があるのでしょうか。 Ruby on Railsの登場以降、メタプログラミングという言葉を良く聞くようになりました。メタプログラミングというと、マクロ、コードの自動生成、テンプレートを上げることができます。 DSLは、メタプログラミングで使われます。メタプログラミングは、一般的なプログラムとはまったく違った方法をとっているので

    第1回 DSLとは? | gihyo.jp
    tyabe
    tyabe 2011/02/10
  • 1