有时我想要一个变量始终是一个数组,无论是一个标量还是一个数组.
所以我通常做:
[variable].flatten
这与ruby-1.8.5,1.8.7,1.9.x兼容.
使用这个方法当变量是一个字符串(变量=“asdf”)时,它给我[“asdf”].如果它已经是一个数组(variable = [“asdf”,“bvcx”]),它给我:[“asdf”,“bvcx”].
有没有人有更好的方法? “更好”意味着更可读,更有效率,简洁或更有效的其他方式.
解决方法
我做的方式,认为是标准的方式,正在使用[* …]:
variable1 = "string" variable2 = ["element1","element2"] [*variable1] #=> ["string"] [*variable2] #=> ["element1","element2"]