zoukankan      html  css  js  c++  java
  • ruby语法之方法

    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

  • 相关阅读:
    图片延迟加载方法
    mongodb常用命令
    未知尺寸元素水平垂直居中:
    nodejs学习之加密
    nodejs学习之events的使用
    nodejs学习之events
    学习Nodejs之mysql
    PHP之几道面试题
    Jquery学习插件之手风琴
    我的第一篇博客
  • 原文地址:https://www.cnblogs.com/mmyy-blog/p/11926594.html
Copyright © 2011-2022 走看看