整数列表的Ruby百分比宏(la%q,%x,%w)?

整数列表的Ruby百分比宏(la%q,%x,%w)?,ruby,macros,Ruby,Macros,我找不到使用Ruby宏定义整数列表的方法 这是我唯一的选择吗 %w(123 456).map { |i| i.to_i } 我想应该包括%I(123 456),但我想不会。这样的实用方法是用来处理引用和转义问题的,它们都不在数字列表中 例如,处理同时使用两种报价样式的情况: 'Johnny\'s dad\'s friend said, "I really hate backslashes!"' %Q{Johnny's dad's friend said, "I really hate back

我找不到使用Ruby宏定义整数列表的方法

这是我唯一的选择吗

%w(123 456).map { |i| i.to_i }

我想应该包括
%I(123 456)
,但我想不会。

这样的实用方法是用来处理引用和转义问题的,它们都不在数字列表中

例如,处理同时使用两种报价样式的情况:

'Johnny\'s dad\'s friend said, "I really hate backslashes!"'
%Q{Johnny's dad's friend said, "I really hate backslashes!"}
对于字符串列表:

[ 'this', 'that', 'and', 'the', 'other', 'thing' ]
%w[ this that and the other thing ]
对于经常出现斜杠的正则表达式:

/https?:\/\/([\w\-]+).com\//
%r{https?://([\w\-]+).com/}

但是,在定义数字列表时,不需要特定的转义。

如何
%i(123 456)
明显优于
[123,456]
?对于字符串,不必键入引号。你是否懒得连逗号都打?:)这里有一个快捷方式,顺便说一句:
%w[123 456]。映射(&:to_i)
%i(123 456)
会更糟。SergioTulentsev没有
符号,这更像是一个风格问题。不知道为什么在包含字符串、正则表达式和shell命令的情况下忽略了它。看,我想他们比我更了解我的问题!:)