登录
  • 欢迎访问悠扬的技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站😉

Ruby快速入门

Ruby 悠扬 948次浏览 已收录

Ruby快速入门

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()

Ruby快速入门

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

     私有方法,静态方法不能被使用,实例化以后可以调用模板中非静态私有方法


版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Ruby快速入门
喜欢 (0)
支付宝[]
分享 (0)
悠扬
关于作者:
10年以上工作经验:6年以上微服务架构设计搭建经验。 曾任岗位:项目经理、架构师。 擅长领域:大数据、数据库,架构设计,资源优化。 获得业绩: 1.实用新型发明专利1个,修改Apache Sharding源码设计实现分库分表程序增强方案。 2.开源项目一个:https://gitee.com/zsiyang/ruoyi-vue-atomikos (加入开源生态圈)。 3.个人技术博客地址:https://www.nxhz1688.com