dawn-liu

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ruby中的方法相当于python的函数

其定义规则为:

方法名应以小写字母开头。如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常量,从而导致不正确地解析调用。
方法应在调用之前定义,否则 Ruby 会产生未定义的方法调用异常。
def 开头  end结尾,里面的代码没用格式的要求,例如不要求缩进

例如:

[root@orl11-infa ruby-test]# cat test.rb
def my_method(a1=1,b1=2)
  c=a1+b1
return c
end
kk=my_method 5,6
puts kk

[root@orl11-infa ruby-test]# ruby test.rb
11

我们把方法首字母大写 My_method

[root@orl11-infa ruby-test]# ruby test.rb
test.rb:5:in `<main>': undefined method `my_method' for main:Object (NoMethodError)

 例如2 接收不确定的参数

[root@orl11-infa ruby-test]# cat test.rb
#!/usr/bin/ruby
## -*- coding: UTF-8 -*-

def my_method(*para)
  puts "参数的数量 #{para.length}"
  yy=""
  para.each do |temp|
    yy=yy+temp
  end
  puts yy
return yy
end
kk=my_method "a","b","c"
puts kk
zz=my_method "one","two","three","four","five"
puts zz

执行结果:
[root@orl11-infa ruby-test]# ruby test.rb
参数的数量 3
abc
abc
参数的数量 5
onetwothreefourfive
onetwothreefourfive
-------------------------------------------------------------------------------------------------
使用for循环:

#!/usr/bin/ruby
## -*- coding: UTF-8 -*-
def my_method(*para)
puts "参数的数量 #{para.length}"
y=''
for i in para
y<< i
end
return y
end
kk=my_method "a","b","c"
puts kk
zz=my_method "one","two","three","four","five"
puts zz

 

posted on 2019-11-25 11:16  dawn-liu  阅读(185)  评论(0编辑  收藏  举报