Rubyと正規表現のパターンマッチングを使って内部DSLを書く方法の簡単な例を探しています。Ruby + Regexを使って、内部の自然言語のDSLを書くには?
Given /^I have (\d+) cucumbers in my belly$/ do |cukes|
# Some Ruby code here
end
私はビルダー、または流暢なメソッドチェーンに興味がないよ:シナトラがルートにキュウリは、ステップの定義を処理する方法に似また
get '/say/*/to/*' do
# Some Ruby code here
end
を処理する方法に似ています。基本的に私はこのようになりますRubyのクラスたい:
class SpecVocabulary
match ‘pattern’ do
# Some Ruby code here
end
# Or, using a different keyword
phrase ‘pattern’ do
# Some Ruby code here
end
end
私は苦労してる何をしている配線アップSpecVocabularクラスは自動的にパターンにマッチし、それのデータを記入するコード。
私は誰かがこれを行う方法の簡単な例を持っていることを望んでいます。私はSinatraとCucumberのソースでダイビングするのを避けようとしています。
ちなみに私は意図的に自然言語を定義していますが、意図的に省略しました。