在Ruby的多行%w行中添加注释

Sho*_*eNN 5 ruby string comments

我有一个通过百分比字符串的多行字符串数组,如下所示:

array = %w(test
           foo
           bar)
Run Code Online (Sandbox Code Playgroud)

我想在foo条目中添加评论消息,例如

array = %w(test
           # TODO: Remove this line after fix #1
           foo
           bar)
Run Code Online (Sandbox Code Playgroud)

有什么方法可以将其转换为基本数组吗?

array = ['test',
         # TODO: Remove this line after fix #1
         'foo',
         'bar']
Run Code Online (Sandbox Code Playgroud)

And*_*eko 5

我认为没有办法做到这一点,因为将其中的%w()每个空格分隔元素评估为字符串。

无法从字符串内部让 Ruby 评估该字符串。


cem*_*-sp 5

唯一且棘手的方法:

array = %W(test
           #@foo
           bar).reject(&:empty?)
Run Code Online (Sandbox Code Playgroud)

注意大写Wreject

  • 我认为向读者展示这种解决方法的存在是公平的,因此我建议人们投票赞成而不是反对这一回应。 (5认同)