标签:hello 属性 guid sso span 全局变量 ack 下载 guide
Ruby,一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。
ruby下载安装:https://www.ruby-lang.org/zh_cn/documentation/
rvm下载安装:https://ruby-china.org/wiki/rvm-guide
# 万变不离其宗,先来一个hello world puts "Hellow world"
def sayHello puts "Hello world" end sayHello def sayHello1(name) puts "Hello #{name}" end sayHello1("ruby")
ruby的函数传参与Python类似,需注意的就是占位输出"#{}"符
class Player def initialize(name = "python") # 构造函数 @name = name end def show() puts "player: #{@name}" end end python = Player.new() python.show() ruby = Player.new("ruby") ruby.show() go = Player.new("go") go.show()
Ruby 支持五种类型的变量。 1. 一般小写字母、下划线开头:变量(Variable)。 2. $开头:全局变量(Global variable)。 3. @开头:实例变量(Instance variable)。 4. @@开头:类变量(Class variable)类变量被共享在整个继承链中 5. 大写字母开头:常数(Constant)。
instance_methods(all:bool):列出对象(类)内部的方法 respond_to?:调查对象的方法/属性是否可用 send:执行对象的方法
class Game def initialize(title="怪物猎人", price = 200) @title = title @price = price end def show() puts "标题: #{@title}" puts "价格: #{@price}" end def show_1() end def show_2() end end puts Game.instance_methods(false )
注:可以试试把instance_methods中的false改成true
... mario = Game.new("超级马里奥", 350) if mario.respond_to?("show") # 判断对象是否存在show方法 mario.send("show") # 执行指定的方法 end
class Game attr_accessor :price, :title # 提供了可供对象外部使用的属性 def initialize(title = "怪物猎人", price = 200) # 构造函数 @title = title @price = price end def show() puts "标题:#{@title}" puts "价格: #{@price}" end end mygame = Game.new() mygame.show() puts "title is" + mygame.respond_to?("title").to_s puts "price is" + mygame.respond_to?("price").to_s mygame.title = "Super Mario World" mygame.price = 150 mygame.show
注:感觉有点像Python中的global,用来定义全局变量
。。。
先到这,稍后继续
标签:hello 属性 guid sso span 全局变量 ack 下载 guide
原文地址:https://www.cnblogs.com/rixian/p/11634601.html