Ruby基礎
クラス
・クラス名は必ず大文字で始める
・オブジェクトの外部からインスタンス変数に直でアクセスすることはできない
→カプセル化が強制されている
→外部アクセスが必要なものだけattr_accessor等を定義する
class Hoge # コンストラクタ def initialize(args = "hoge") # インスタンス変数にセット @var = args end # インスタンスメソッド定義 def hello print "Hello, ", @var, " ! \n" end =begin アクセサメソッド定義 =end # setter 2種類の書き方 attr_reader :var, :var2 # 複数はカンマ区切り def var return @var end # getter 2種類の書き方 attr_writer :var def var=(value) @var = value end # setter と getter を同時に定義 attr_accessor :var # クラスメソッド # def クラス名.メソッド名 〜 end # def self.メソッド名 〜 end def Hoge.hello(name) # def self.hello(name) print name, " said hello. \n" end end
・アクセス修飾子
public (デフォルト)
private
protected
class AccTest def pub puts "pub is a public method." end public :pub # pubメソッドをpublicに設定 def priv puts "priv is a private method." end private :priv # privメソッドをprivateに設定 end
・複数のメソッドのアクセス修飾子をまとめて設定する
class AccTest public # これ以降に定義したメソッドはpublicになる def pub puts "pub is a public method. " end private # これ以降に定義したメソッドはprivateになる def priv puts "priv is a private method. " end end
・継承
class クラス名 < スーパークラス名 end
変数
・英数、アンダースコア
・数字からは始められない
・変数の種類4つ
グローバル変数
$variable
ローカル変数
variable
インスタンス変数
@variable
クラス変数
@@variable
定数
・大文字から始まる
Hoge HOGE
コメント
・1行コメント
#
・複数行コメント
=begin コメント コメント =end