際際滷
Submit Search
メタプログラミング檎顎恢霞はこの原hが胆龍しい
?
6 likes
?
2,247 views
Shigeru UCHIYAMA
Follow
1 of 15
Download now
Download to read offline
More Related Content
メタプログラミング檎顎恢霞はこの原hが胆龍しい
1.
メタプログラミング檎顎恢霞は
この原hが胆龍しい (i氏鯛ち[憤い) @suchi hamamatsu.rb#16 LT 2012/06/13
2.
刷学塁の
ジャガッツは このギザギザが おいしい http://www.youtube.com/watch?v=r1Pr8x-0ZNU
3.
原hA よく聞うイディオム メタではないイディオム ?
A.1 ミミックメソッド ? A.2 nilガ`ド ? A.3 メソッド哈方 ? A.4 徭失yield ? A.5 Symbol#to_proc()
4.
A.4 徭失yield 箭: tap
坿タップと揖じ。坿の函り竃し。メソッドチェ`ン の余嶄で函り竃す。 class Object def tap yield self self end end %w(a b c).push('d').shift.upcase.next %w(a b c).push('d').tap{|x|puts x}.shift.upcase.next
5.
A.5 Symbol#to_proc() シンボルのProcQ class Symbol
def to_proc Proc.new {|x| x.send(self)} end end [1,2,5].inject(0, &:+) #=> 8
6.
[1,2,5].inject(0, &:+) #=> 8
7.
翊
8.
翊燭杯iむ 1.
Symbolのto_procはProcを卦す(1.9ではデフォルト) 2. そのProcは1つめの哈方をレシ`バとして、シンボル兆のメソッ ドに火りの哈方を局して柵び竃す 3. シンボルに&をつけると、ProcとしてQわれる(坪何でto_proc が柵び竃してくれる) 4. InjectはそのProcに匯つ念の卦、釆造靴ひ殆の屈つを局す。 5. Injectの恷兜の哈方(0)は恷兜の勣殆の及匯哈方にが聞われる 6. たとえば恷兜は :+.to_proc.call(0, 1) が柵ばれるので0.+(1)が 柵ばれる。參和ル`プ 7. つまり[1,2,3].inject(0,&:+)は、 ?:+.to_proc.call(:+.to_proc.call(:+.to_proc.call(0,1), 2), 3) 揖じことになる #=>8
9.
原hB ドメイン蒙晒冱Z ? DSL:
ドメイン蒙晒冱Z C (Domain Specific Language) ? GPL: 喘冱Z C (General Purpose Language) ? 坪何DSL: C GPL坪に贋壓するDSL ? 翌何DSL: C 鏡徭のパ`ザ。かれた冱ZとovS ? ★Rubyはメタプログラミングが誼吭なので坪 何DSLも誼吭ですよ
10.
原hC 徴g ? これまで竃てきたメタプログ
ラミングのイディオムカタロ グ ? あたかも吉伏がまとめてく れたノ`トのように ? 畽に恷m
11.
原hD 歌深 ふつう
12.
原hE からXぎ 晩云Z井のみのスペシャルセクション! NullObjectパタ`ンの盾h RSpecのas_null_objectでもおなじみ @obj =
double.as_null_object @obj.foo @obj.bar @obj.baz 畠何ブラックホ`ルのように鞭け峭めてくれるにくい笛
13.
潤胎
14.
刷学塁の
ジャガッツは このギザギザが おいしい http://www.youtube.com/watch?v=r1Pr8x-0ZNU
15.
メタプログラミング檎顎恢霞は
この原hも胆龍しい
Download now