一步一步学Ruby系列,二:Ruby中的函数

一、无参函数:

irb(main):010:0> def h

irb(main):011:1> puts "Hello World!"

irb(main):012:1> end

=> nil

irb(main):013:0> h

Hello World!

=> nil

irb(main):014:0> h()

Hello World!

=> nil

在 Ruby 里调用函数就像提起 Ruby 的名字一样简单。如果函数不需要接受参数,您只要提到它就够了。您可以加一对括号,但不是必需的。

二、有参函数

irb(main):015:0> def h(name)

irb(main):016:1> puts "Hello #{name}!"

irb(main):017:1> end

=> nil

irb(main):018:0> h("Matz")

Hello Matz!

=> nil

通过#{parameterName}来引用参数。等等,似乎参数没有参数类型哦。是的,这就是鼎鼎大名的“鸭子型”的体现。

三、默认参数

irb(main):019:0> def h(name = "World")

irb(main):020:1> puts "Hello #{name.capitalize}!"

irb(main):021:1> end

=> nil

irb(main):022:0> h"chris"

Hello Chris!

=> nil

irb(main):023:0> h

Hello World!

=> nil

参数可以用括号来指定,也可以直接指定。

当有参数有默认值的时候,可以不指定参数,就像无参函数一样调用。

问题:

参数的返回值问题。

多参数的函数的调用问题。

多参数的函数中,默认参数的位置是否必须位于最后?

好了,下一篇讲Ruby中的类。