想学Ruby了,开个帖学习一下。
以下是从hello world ===》类与对象之间的快速上手代码,记录一下。
# -----------------------------------------------------------------------------------------------------
#Hello World
# puts "i am ruby ,helloworld"
# -----------------------------------------------------------------------------------------------------
#无参函数
# def sayHello
# puts "hello"
# end
#有参函数
# def sayHello(name)
# puts "hello #{name}"
# end
#带默认参数的函数
# def sayHello(name="ggboy")
# puts "hello #{name}"
# end
#函数调用
# sayHello
# sayHello("Nigger")
# -----------------------------------------------------------------------------------------------------
#Ruby类
#这是一个类
# class Player
# def initialize(name="koma")
# @name = name
# end
# def show()
# puts "player: #{@name}"
# end
# end
#类的实例化
# koma = Player.new()
#调用实例的方法
# koma.show()
# 同上,有参
# curry = Player.new("Curry")
# curry.show()
# -----------------------------------------------------------------------------------------------------
# 这是一个游戏类,有游戏名和游戏价格组成
# class Game
# def initialize(name="怪物猎人世界",price=250)
# @name = name
# @price = price
# end
# def show1()
# puts "游戏名称:#{@name}"
# puts "游戏价格:#{@price}"
# end
# def show2()
# end
# def show3()
# end
# end
# 查看类中所有的方法
# puts Game.instance_methods(false)
# mario.respond_to?("show1") 检验mario中是否有show1方法
# mario.send("show1") 调用mario实例中的show1方法
# mario = Game.new("超级马里奥",500)
# if mario.respond_to?("show1")
# mario.send("show1")
# end
# -----------------------------------------------------------------------------------------------------
# 对象的属性
# attr_accessor :price,:name =========》在Java里的字段名。
# 一个游戏类
# class Game
# attr_accessor :price,:name
# def initialize(name="怪物猎人世界",price=250)
# @name = name
# @price = price
# end
# def show1()
# puts "游戏名称:#{@name}"
# puts "游戏价格:#{@price}"
# end
# end
# 实例化对象
# mygame = Game.new()
# mygame.show1()
# 输出字段(属性)名是否可用
# puts "price is " + mygame.respond_to?("price").to_s
# puts "name is " + mygame.respond_to?("name").to_s
# 修改属性值
# mygame.price = 150
# mygame.name = "Super Mario World"
# 调用show()方法
# mygame.show1()
# -----------------------------------------------------------------------------------------------------