20612


**ソース**

[code]

    hoge = %i(
      #コメント1
      a
      #コメント2
      b c
      #コメント3
      d
    )
    
    p hoge
    
[/code]

**結果**

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

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


CC BY-SA 3.0
2016-01-04T13:45:18.043
20601
2016-01-04T21:55:58.230
9008
question
ruby
%iの中にコメントを書く方法は？


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

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

[code]

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

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

[code]

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

参考サイト： [%記法](http://docs.ruby-
lang.org/ja/2.3.0/doc/spec=2fliteral.html#symbol)


CC BY-SA 3.0
2016-01-04T21:55:58.230
20612
2016-01-04T21:55:58.230
85
20601
answer