実行文

よく思うんですけれど、Rubyのプログラムを読むとき(あるいは文法を理解するとき、でもよいですが)、「classもdefも実行文」と思うととてもよく理解できますね。一見宣言のように見えるけれど、実は全部evalしてるだけじゃん、みたいな。Lispのシンタクスシュガーと考えると理解が進む、とか。
追記:
attr_*とかね」といえば、確かにそうですね。DSL(Domain Specific Language)が作りやすいのも(あ、それはかっこ類を省略できるから、というのもあるか)。