有时我希望变量始终是一个数组,无论是标量还是数组.
所以我通常这样做:
[variable].flatten
Run Code Online (Sandbox Code Playgroud)
与ruby-1.8.5,1.8.7,1.9.x兼容.
有了这个方法,什么时候variable
是一个string(variable = "asdf"
),它给了我["asdf"]
.如果它已经是一个数组(variable = ["asdf","bvcx"]
),它给了我:["asdf","bvcx"]
.
有没有人有更好的方法?"更好"意味着在其他方面更具可读性,更高性能,更简洁或更有效.
luc*_*tte 16
Array(variable)
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩.它使用鲜为人知的Kernel#Array方法.
saw*_*awa 14
我这样做,并且认为是标准方式,正在使用[*...]
:
variable1 = "string"
variable2 = ["element1", "element2"]
[*variable1] #=> ["string"]
[*variable2] #=> ["element1", "element2"]
Run Code Online (Sandbox Code Playgroud)