logo       

[ruby-list:42941] /.../の中の#{...}に対するruby-mode.elの処理について: msg#00002

lang.ruby.japanese

Subject: [ruby-list:42941] /.../の中の#{...}に対するruby-mode.elの処理について

黒田です。

ruby-mode.elを愛用しているのですが、正規表現リテラルの中で#{...}記法を使うと、そ
の次の行のインデントがおかしくなる現象に悩まされています。

例えば、次のような具合です。
----
#!/usr/bin/env ruby
def test
r = /hoge/
s = "hoge#{r.to_s}"
r2 = %r[hoge#{r}]
r3 = /hoge#{r}/
puts "hello" # ←1段余分にインデントされている
end
----
sの行のような文字列リテラルや、正規表現リテラルであってもr2の行のように%r[...]で
書くと、中で'#'を使っても大丈夫なのですが、r3の行のように/.../で書くとインデント
がおかしくなります。

察するにruby-mode.elでは"..."や%[...]のような文字列の中では'#'をコメントの始まり
と見なさない処理が行われており、同じ処理を/.../に対しても行うようにすれば良いの
ではないかと思ったのですが、Lispはまだ不得手で、どのように対処してよいか見当が付
きませんでした。

良い対処法をご存知の方がいらしたら、お教えくださいませんか?


どうぞよろしくお願いいたします。

--
--------------------------------------------------
黒田 拓(くろだ ひらく)
hiraku-uACkxWv/+HISmTHKd5wzPQ@xxxxxxxxxxxxxxxx
http://www.hinet.mydns.jp/~hiraku/
--------------------------------------------------




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise