Ruby 学习笔记(一)

环境搭建

本文基于Mac OS,windowns坑较多,建议使用Mac。

  • xcode-select -p 检查是否安装xcode-select, 如果没有,通过xcode-select --install命令进行安装,ruby安装时需要这个library。
  • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ,安装Homebrew包管理工具,类似于npm, 官网地址
  • brew install git 安装Git
  • \curl -L https://get.rvm.io | bash -s stable 安装RVM (Ruby Version Manager)
  • rvm install 2.3.1 安装ruby,2.3.1为版本号
    rvm list 列出已经安装ruby版本,rvm use 2.3.1 --default 设定默认的ruby版本。
  • gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/ 由于rubygems被墙,可以添加淘宝提供的Gem下载站点。
  • 编辑器使用Atom,IDE可以使用RubyMine。

类/对象

  • ruby中几乎所有见到的都是对象。
  • 和Java一样,ruby通过关键字class定义一个类。
class Dog
  def bark
    puts "wang wang..."
  end
  def self.static_method
    puts "this is a static method"
  end
end

通过 Dog.new.bark调用实例方法,Dog.static_method调用类方法。

  • 类变量
class House
  @@location = 'Xi\'an'
  def self.location
    @@location
  end
end
puts House.location  =>  Xi'an

通过关键字'<'表示继承.

class Apartment < House
  @@location = 'Gaoxin'
end
puts House.location      => Gaoxin
puts Apartment.location  => Gaoxin

修改类变量会修改对应的父类和所有子类。

  • 实例变量
class House
  attr_accessor :location
  @location = 'xi\'an'
end
puts House.new.location  => nil

实例变量变为类变量

class House
  class << self
    attr_accessor :location
  end
  @location = 'Xi\'an'
end
class Apartment < House
  @location = 'Gaoxin'
end
puts House.location      => Xi'an
puts Apartment.location  => Gaoxin

posted on 2016-10-02 09:45  dasheng  阅读(321)  评论(0编辑  收藏  举报

导航