如何确保方法返回一个数组,即使Ruby中只有一个元素

doc*_*nge 3 ruby arrays return

我有一个Ruby方法,它搜索哈希数组并返回该数组的子集.

  def last_actions(type = 'all')
    actions = @actions

    if type == 'run'
      actions = actions.select {|a| a['type'] == "run" }
    end

    return actions

  end
Run Code Online (Sandbox Code Playgroud)

这是有效的,除非只有一个动作要返回,在这种情况下我不认为它返回一个包含一个元素的数组,而只是返回元素本身.这在以后会成为问题.

在这种情况下,确保它返回1个元素的数组有什么好方法?

谢谢.

小智 14

请注意,有一个很好的干净红宝石成语,以确保单个对象和数组被视为数组:

a = [1,2,3]
b = 4

[*a]
=> [1, 2, 3]

[*b]
=> [4]
Run Code Online (Sandbox Code Playgroud)