整数列表的Ruby百分比宏(la%q,%x,%w)?
我找不到使用Ruby宏定义整数列表的方法 这是我唯一的选择吗整数列表的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
%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命令的情况下忽略了它。看,我想他们比我更了解我的问题!:)