从Ruby中的方法返回数组

时间:2014-08-24 22:39:08

标签: ruby arrays methods

如何从Ruby方法返回数组?

示例:

def array(a,b,c)
  WHAT DO I TYPE NOW TO RETURN ["a","b","c"]
end
P.S:我是新手,所以我提前道歉,我的问题对任何人来说都是愚蠢的。

3 个答案:

答案 0 :(得分:0)

以同样的方式返回任何其他内容。如果你想要一个返回数字1的方法,你可以写:

def one
  1
end

此处,您需要返回一个数组,而不是数字1。但是数组没什么特别的 - 就像你把数字1作为方法中的最后一个表达式一样,你在那里放了一个数组。

答案 1 :(得分:0)

  

最后一个表达式的值是ruby中方法的默认返回值。

我不知道你为什么要返回一个数组,但你可以这样做。

def test
    ["a", "b", "c"]
end

2.1.2 :070 > test
=> ["a", "b", "c"]

def test(a, b, c)
    [a, b, c]
end

2.1.2 :076 > test("a", "b", "c")
 => ["a", "b", "c"]

答案 2 :(得分:0)

返回arity有时会变得很重要,你的问题很合理。在Ruby中,方法返回arity正式总是1,即只返回1个对象。但是我们可以事实上通过返回集合类型来实现更高的arity。你可以这样做:

def hello
  [ "hello", "world" ]
end

返回数组也有特殊的语法支持:

def hello2
  return "hello", "world"
end

试一试,看看它是否有效:

hello #=> [ "hello", "world" ]
hello2 #=> [ "hello", "world" ]
a, b = hello
a #=> "hello"
b #=> "world"