%iの中にコメントを書く方法は?

投稿者: Anonymous

ソース

hoge = %i(
  #コメント1
  a
  #コメント2
  b c
  #コメント3
  d
)

p hoge

結果

[:”#コメント1″, :a, :”#コメント2″, :b, :c, :”#コメント3″, :d]

%iの中にコメントを書く方法はありますか?

解決

あるかないかで言うと、「ない」が答えになります。

%記法ではなく、[ ] を使うのが最善でしょう。

hoge = [
  #コメント1
  :a,
  #コメント2
  :b, :c,
  #コメント3
  :d
]

以下のように無理矢理コメントのように扱う方法も考えられますが、#の後ろにスペースが入ると意図しない動きになるのでオススメできません。

hoge = %i(
  #コメント1
  a
  #コメント2
  b c
  #コメント3
  d
)
hoge.select{|s| s !~ /^#/}

参考サイト: %記法

回答者: Anonymous

Leave a Reply

Your email address will not be published.