如何从Ruby方法返回数组?
示例:
def array(a,b,c)
WHAT DO I TYPE NOW TO RETURN ["a","b","c"]
end
P.S:我是新手,所以我提前道歉,我的问题对任何人来说都是愚蠢的。
答案 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"