• 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

  • 相关阅读:
    宋亡之后无中国,明亡之后无华夏——有多少人懂
    关于Verilog 中的for语句的探讨
    三种不同状态机写法
    异步复位和同步复位
    转载
    FIFO认识(一)
    Quartus II管脚批量分配文件(.tcl)格式
    mif文件C语言生成
    基于FPGA的HDMI显示设计(三)
    FPGA----只读存储器(ROM)
  • 原文地址:https://www.cnblogs.com/mmyy-blog/p/11926594.html
Copyright © 2020-2023  润新知