[#47501] Hash の制約について( Ruby1.8) — 上田佳寛 <ueda@...>
皆様はじめまして
8 messages
2010/10/01
[#47528] Ruby1.9.1 p430へのRDE インストールについて — eiichi_maekawa@...
5 messages
2010/10/07
[#47529] ruby1.9.2 にて、 IO#reopen で第2引数を省略したときにモードが引き継がれない — jugyo kohno <kkohno@...>
jugyo と申します
11 messages
2010/10/08
[#47562] Re: ruby1.9.2 にて、 IO#reopen で第2引数を省略したときにモードが引き継がれない
— "Y. NOBUOKA" <nobuoka@...>
2010/10/15
信岡です。
[#47563] SketchUpのRubyでwin32oleをrequireする方法について(質問)
— "yahata hisashi" <yahatah@...>
2010/10/16
Google SketchUpのRubyでwin32oleをrequireする方法について教えていただきたく
[#47564] Re: SketchUpのRubyでwin32oleをrequireする方法について(質問)
— Masaki Suketa <masaki.suketa@...>
2010/10/16
助田です。
[#47566] Re: SketchUpのRubyでwin32oleをrequireする方法について(質問)
— "yahata hisashi" <yahatah@...>
2010/10/16
助田 雅紀様
[#47567] Re: SketchUpのRubyでwin32oleをrequireする方法について(質問)
— Masaki Suketa <masaki.suketa@...>
2010/10/16
助田です。
[#47537] Excel用のxmlssファイルを作成するライブラリ exlap_c — "YOSHIIZUMI" <t-yoshiizumi@...>
吉泉といいます。
11 messages
2010/10/10
[#47575] Re: Excel用のxmlssファイルを作成するライブラリ exlap_c
— 染谷 康一 <kouichi_someya@...>
2010/10/18
吉泉さん
[#47547] 正規表現で困っています — 成田恭一[NWH] <ntnarita_prn@...>
Ruby初心者の成田と申します。
7 messages
2010/10/13
[#47578] Ruby1.9.2のRDocで定義が出力されないことがある — KANAI-Takashi <kanai@...>
こんにちは。
6 messages
2010/10/18
[#47579] Re: Ruby1.9.2のRDocで定義が出力されないことがある
— KANAI-Takashi <kanai@...>
2010/10/18
金井です。
[#47588] Re: [ruby-list:47579] Re: Ruby1.9.2のRDocで定義が出力されないことがある
— 青柳政聡 <masaakiaoyagi@...>
2010/10/22
44Gv44GY44KB44G+44GX44Gm44CB6Z2S5p+z44Go55Sz44GX44G+44GZ44CCCgrph5HkupXjgZXj
[ruby-list:47507] Re: eRuby における % 行
From:
Makoto Kuwata <kwa@...>
Date:
2010-10-01 17:29:23 UTC
List:
ruby-list #47507
桑田といいます。 2010/9/28 5.5 <5.5@moji.gr.jp>: > > お尋ねしたいのは > ・なぜ % 行記法がダメなのか 推測しますと、「%」は行頭にないとだめでインデントはできないから、 インデントしまくりのHTMLとは相性が悪いからじゃないでしょうか。 > module Erubis > class Eruby > include PercentLineEnhancer > end > end これはうまくいかないでしょう。 Erubis::Erubyのサブクラスを作って、そこにincludeしないとだめなはず。 理由:PercentLineEnhancerは、Erubyクラスのメソッドを上書きすることで 機能を実現しています。しかしErubyクラスに直接includeしても Erubyクラスのメソッドを上書きすることにはなりません。 (逆に、PercentLineEnhancerのメソッドをErubyクラスが上書きする格好になる。) > ・Rails 3(というか Rails の Erubis)で % 行記法を使う方法 > の二点です。 具体的なやり方は自分も分かりませんが、Rails3は内部でErubisを カスタマイズしてるので、それを考慮すればできるかもしれません。 今、Rails3のソースにgrepをかけると actionpack/lib/action_view/template/handlers/erb.rb actionpack/test/template/erb/helper.rb にErubisをカスタマイズしているコードがありました。 あんまり役にたたないリプライですね。すみません。 -- makoto kuwata > 5.5 です。 > > Erb でも Erubis でも,デフォルトでは「%」で始まる行をスクリプト片とは > みません。 > 私は以下のAよりもBのほうが格段に読みやすく,書きやすいと感じます。 > ※後者を仮に「% 行記法」と呼ぶことにします。(正式には何というのでし > ょうか?) > > —A———————————————— > <% unless @books.empty? -%> > <ul> > <% @books.each do |book| -%> > <li><%=h book.title %></li> > <% end -%> > </ul> > <% end -%> > —————————————————— > > —B———————————————— > % unless @books.empty? > <ul> > % @books.each do |book| > <li><%=h book.title %></li> > % end > </ul> > % end > —————————————————— > > しかし,% 行記法はあまり使われていないように思います。 > なぜでしょうか? 何か重大な欠点があるのでしょうか? > > Rails では,config/initializers の下に > > ActionView::TemplateHandlers::ERB.erb_trim_mode.sub! /.+/, "%-" > > と書けばトリムモードが "%-" になりますが,いかにも面倒です。 > ※代入じゃなくて sub! してるのは凍結されているから。 > > オプション設定とかでできないところを見ると,Rails 開発陣は, > %行記法を良いとは思っていないのですよね? > > また,Rails 3.0 からは Erubis が標準になりましたが,Rails の > Erubis で % 行記法を使う方法が見つかりませんでした。 > config/initializers の下に > > module Erubis > class Eruby > include PercentLineEnhancer > end > end > > と書いても効きません。 > > お尋ねしたいのは > ・なぜ % 行記法がダメなのか > ・Rails 3(というか Rails の Erubis)で % 行記法を使う方法 > の二点です。 > > -- > 5.5@moji.gr.jp > >