• 关于Ruby常用语法案例累积


    变量问题:

    类变量和方法变量的区别是什么?

    类变量:可以直接使用

    方法变量:需要实例化后,才能使用该变量

    案例一:

    class Person
       @@name = "Tom"
        @@names = "Toms"
        @@age = 10  
      def jek
          @jj = "jj"
          @@bb="wonter"
      end  
      def Person.getName
        return  @@name
      end
      def Person.getNames
          return  @@names
        end  
        def Person.getage
            return  @@age
            end    
    end
    class Xx < Person
        def aa
            puts "#{@@age}"    
            ll = Person.new
            ll.jek
            @bb = @@bb
            puts "#{@bb}"
            
        end
    end
    puts Person.getNames
    x = Xx.new
    x.aa

    父子类继承问题:

    重写父类方法,或直接使用父类方法。

    案例二:

    class Father
      def says
        puts "I am father."
      end
      def fatherInfo
        puts "father info."
      end
    end
    class Son < Father
        def sonInfo
        puts "son info."
        end
    end
    class Two < Father
        def twoInfo
        puts "two info."
        end
    end
    #father = Father.new
    son = Son.new
    two = Two.new
    #father.says
    #father.fatherInfo
    son.says
    son.sonInfo
    son.fatherInfo
    two.twoInfo
    two.says

    传参问题:

    类之间参数的传递与使用。

    案例三:

    class Father
      def initialize name
        @name = name
      end
      def says
        puts "I am father."
      end
      def fat xx
          @xname = xx
          puts "I am father. #{@xname}"
      end  
    end
    class Son < Father
      def sayss
        puts "I am son. name: #{@name}"
      end
      def sonsays
          puts "no : #{@name}"
      end  
    end
    son = Son.new "Tom"
    #son.says
    #son.sonsays
    son.fat "wonter"

    循环和判断问题:

    涉及数组

    案例四:

    list1 = ["192.168.48.202","icare","log"]
    list2 = ["192.168.48.101","tomcat","sysif"]
    length = list1.length
    length.times do |t|  
     #print "#{list2[t]} 
    "  
     
     if list2[t] = list1[t]
         puts "ok list1:#{list1[t]} 
     list2:#{list2[t]}"
     else
         puts "no"
     end
    end  
    puts "#################################################################"
    for i in list1 do  
      print "#{i} "  
    end 
    puts "
    "

    关于引入与通配:

    load 'D:WorkspacesRuby2controlCdkPkg.rb'
    #load 'D:WorkspacesRuby2controlCdel_linkP.rb'
    class Home 
      def test_linkpkg    
          pkg=ClinkPkg.new
          pkg.linkPkg
       end
    #  def test_del_linkP
    #      del=Cdel_linkP.new
    #      del.del_linkP
    #   end
    end
    t = Home.new
    test_methods = t.public_methods.grep(/^test_/)  # 把所有test_开头的方法找出来。
    test_methods.each do |test|
      t.send(test)  # 执行每个测试用例。
    end

    其实不管什么语言,什么语法都是大同小异,关键就看怎么用的好,怎么用的顺手。

  • 相关阅读:
    联赛模拟测试22 D. 简单计算
    联赛模拟测试22 B. 分组配对 倍增+二分
    斜率优化DP总结
    洛谷 P5490 【模板】扫描线
    容斥原理学习笔记
    联赛模拟测试20 C. Weed 线段树
    联赛模拟测试20 B. Walk (建图)
    联赛模拟测试20 A. Simple (数学)
    洛谷 P2617 Dynamic Rankings 树套树
    社区团购模式
  • 原文地址:https://www.cnblogs.com/Javame/p/4123152.html
Copyright © 2020-2023  润新知