Question: ```
def hello(world, bob)
  p hello "#{world}"
  p hello "#{bob}"
end

```

When I run that code it sees only one argument.

How do change my method so I can return `"Hello world"` and `"Hello bob"`.

Answer: 
You could have it take an unlimited amount of input as well with `*args`

```
def hello(*args)

  args.each do |word|
    puts "Hello #{word}"
  end

end

```

If you want to have the word `and` in between you could do it like this.

```
def hello(*args)

  args = args.map do |word|
    "Hello #{word}"
  end

  puts args.join(" and ")
end

```
Bcs. in your code you have `p hello "#{world}"` and this code is same like `hello("world")`.
so you call method `hello` with one parram.

```
def hello(world, bob)
  p "Hello #{world}"
  p "Hello #{bob}"
end

hello("World", "Bob")
# => Hello World
# => Hello Bob

```

If you wanna return this two strings you just modify method like this

```
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]

```