def hello(world, bob)
p hello "#{world}"
p hello "#{bob}"
end
当我运行该代码时,它只能看到一个参数。
如何更改我的方法,以便我可以返回"Hello world"
和"Hello bob"
。
答案 0 :(得分:1)
您可以使用*args
def hello(*args)
args.each do |word|
puts "Hello #{word}"
end
end
如果你想在中间加上单词and
,你就可以这样做。
def hello(*args)
args = args.map do |word|
"Hello #{word}"
end
puts args.join(" and ")
end
答案 1 :(得分:0)
BCS。在您的代码中,您有p hello "#{world}"
,此代码与hello("world")
相同。
所以你用一个parram调用方法hello
。
def hello(world, bob)
p "Hello #{world}"
p "Hello #{bob}"
end
hello("World", "Bob")
# => Hello World
# => Hello Bob
如果你想要返回这两个字符串,你只需修改这样的方法
def hello(world, bob)
return "Hello #{world}", "Hello #{bob}"
end
hello("World", "Bob")
# => [Hello World, Hello Bob]
OR
def hello(world, bob)
["Hello #{world}", "Hello #{bob}"]
end
hello("World", "Bob")
# => [Hello World, Hello Bob]
答案 2 :(得分:0)
此方法将返回Hello world
& Hello bob
def hello(first, second)
puts "Hello #{first}"
puts "Hello #{second}"
end
hello("world", "bob")
=> Hello world
Hello bob