05 June 2011
Sinatraに別構文があってもいいじゃないか!
前の投稿でSinatraはRubyそのものでDSLじゃないと言いました。
SinatraはDSLなんかじゃない、Ruby偽装を使ったマインドコントロールだ!
確かに内部DSLというのはそういうものなのかもしれません。でも言語といったら独自の構文くらいはもっていたい。それで、コードをそのままRubyに通したら、Syntaxエラーになってほしい。
ちょっと意味不明ですけど…
そんなわけで…
独自構文を持つSinatra、Chinatra を作りました ^ ^;1(ネタ注意!)
使い方
#myroute.rb
get /
haml :index
get /hi
'hi, my friend!'
get /:name
hello(params[:name])
helpers
- hello(name)
"Wow you are #{name}!" -
独自の構文です!これはそのままRubyには通りません。
以下のファイルを用意します。
#app.rb
require_relative 'chinatra'
require 'myroute'
chinatraライブラリをrequireして さらに先のmyroute.rbをrequireします そしてこのapp.rbをrubyで実行します
$ ruby app.rb
== Sinatra/1.2.6 has taken the stage on 4567 for development with backup from Thin
>> Thin web server (v1.2.11 codename Bat-Shit Crazy)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:4567, CTRL+C to stop
独自構文のSinatraができました!
関連記事:内部DSLを使って、RubyのWebフレームワークを書こう!
.rbさえつけなければとてもいいと思います! > tkawaさん
ありがとうございます!.rbのところちょっとだけ直しました。
- 支那虎ということで... ↩
blog comments powered by Disqus