1.函数、类、控制台测试
1.1 函数声明
def hello(name="ruby") puts "hello #{name}" end hello #不带参数调用,会输出 hello ruby hello("Ruby") #带参数调用,会输出 hello Ruby
1.2 类调用
@name #实例变量,可以被类或者子类继承使用 (模板级变量) class Player def initialize(name="init") #构造器函数 @name=name end def show() puts "Player #{@name}" end end ruby =Player.new() ruby.show() Tom=Player.new("Tom") Tom.show() jieRui=Player.new("JieRui") jieRui.show()
puts Player.instance_methods(false ) #输出所有自定义方法,ture输出所有方法
jieRui=Player.new("JieRui") if jieRui.respond_to?("show") #判断对象是否存在show方法 jieRui.send("show") #执行指定方法 end
1.3 irb
可以在控制台中输入irb实现内置函数调用及简单测试
1.4对象属性
class Player attr_accessor :age # 类似访问修饰符,变量是否可以修改使用 def initialize(name="init",age=200) @name=name @age=age end def show() puts "姓名: #{@name}" puts "年龄: #{@age}" end end puts Player.instance_methods(false ) # ruby =Player.new() # ruby.show() # # Tom=Player.new("Tom") # Tom.show() # jieRui=Player.new() if jieRui.respond_to?("show") jieRui.show() end puts "姓名"+jieRui.respond_to?("name").to_s #判断属性是否可以使用,to_s 转换为字符串 puts "年龄"+jieRui.respond_to?("age").to_s jieRui.age=500 jieRui.show()
1.5数组
peoples=["Tom","JieRui","Make"] puts peoples peoples.each do |game| #循环输出 puts "911 call#{game}" end peoples.each_with_index do |game,i| #索引输出 puts "#{i} 911 call#{game}" end puts peoples.join("^") #连接输出
1.6 Map Hash
map_hash ={ "jierui" => "11", "tom" => "11", "one" => "11", "tow" => "11" } puts map_hash["tom"] map_json={ name:12, jierui:1233 } puts map_json[:name].to_s+ map_json[:jierui].to_s
1. 7 类继承
class Parent def initialize(name="Tom") @name=name end def hello() puts @name+" Say Come Back" end def self.show(tag="init") puts "#{tag} 父静态" end end class TomSon < Parent def say() puts "滚蛋" end end TomSon.show("TomSon") tomSon=TomSon.new("TomSon") tomSon.hello tomSon.say
1.8 模块引用 include
私有方法,静态方法不能被使用,实例化以后可以调用模板中非静态私有方法