Dav*_*ton 137
(foo ||= []) << :element
Run Code Online (Sandbox Code Playgroud)
但是,好吧.保持可读性真是太麻烦了吗?
meu*_*eub 56
您也可以在任何阵列上使用push方法.我更喜欢它.
(a ||= []).push(:element)
Run Code Online (Sandbox Code Playgroud)
您也可以从内核#数组中受益,例如:
# foo = nil
foo = Array(foo).push(:element)
# => [:element]
Run Code Online (Sandbox Code Playgroud)
它具有扁平化潜在阵列的好处,例如:
# foo = [1]
foo = Array(foo).push(:element)
# => [1, :element]
Run Code Online (Sandbox Code Playgroud)