首页 > 解决方案 > 如何在 Ruby 中使用 %w 中的常量?

问题描述

我喜欢拥有

C1 = 'V1'.freeze
C2 = 'V2'.freeze

成为

[ 'V1', 'V2' ]

当我使用

%w(V1 V2)

我明白了

[ 'V1', 'V2' ]

而且当我使用

%w("#{C1}" "#{C2}")

但是,我想知道是否有更简单的使用常量,但没有#{...}.

示例代码:

C1 = "vC1".freeze
C2 = "vC2".freeze

puts '-----------a----------'
a  = %w(D1 D2)
puts a.class
puts a

puts '-----------b----------'
b = ["#{C1}", "#{C2}"]
puts b.class
puts b

puts '-----------c----------'
c = %w(C1 C2)
puts c.class
puts c

结果:

-----------a----------
Array
D1
D2
-----------b----------
Array
vC1
vC2
-----------c----------
Array
C1
C2

标签: arraysrubystring

解决方案


答案相当简单:

[C1, C2]

相当于:

[ 'V1', 'V2' ]

推荐阅读