0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

4日目(2):Ruby認定試験による勉強

Posted at

#変数、定数いろいろ

  • ローカル変数
    • アルファベット小文字または`_'で始まる識別子
  • グローバル変数
    • $で始まり、宣言が必要なく、プログラムのどこからでも参照できる。
    • 初期化されていないグローバル変数を参照した場合、値はnil。
  • インスタンス変数
    • @で始まり、特定の オブジェクトに属する。
    • そのクラスま たはサブクラスのメソッドから参照できます。
    • 初期化されていないインスタンス変数を参照した場合、値はnil。
  • クラス変数
    • @@で始まり、クラス定義 の中で定義される
    • クラスの特異メソッド、インスタンスメソッドなどから参照/代入ができる。
  • 定数
    • アルファベット大文字で始まる。
    • 他の言語では『定数』なので、再定義しようとしても、警告が出て、再定義できない。
    • Rubyでは、再定義しようとすると、警告が出るが、再定義できてしまう。

#superメソッド
親クラスのメソッドを呼び出す

class User 
  attr_accessor:say
  def initialize
    @say = "Hello"
  end
end
class Oriver < User
  def initialize
    super
  end
end

oriver = User.new
puts oriver.say
#実行結果:Hello
#この時、superメソッドは親クラスのUserから、@sayを呼び出している

#attr_accerssor(attr_readerとattr_writer)

  • attr_accerssorはゲッターとセッターの機能があるアクセスメソッド
  • インスタンス変数の値はクラス内からしか取得出来ない。
  • クラス外からインスタンス変数を取得更新するには、ゲッター、セッターが必要
    • ProgateのPHPの方なら説明がちゃんとあった。

#include (モジュール名, モジュール名, ...)
クラスやモジュールに、他のモジュールをインクルードする。
引数にはモジュールを指定し、上の様に複数指定することができる
##Math module
浮動小数点演算をサポートするモジュール.

円の面積

include Math
#円の面積
def area r
  return r * r * PI
end
#球の体積
def volume r
  return (4/3) * r * r * r * PI
end 
#πの値
puts PI #結果:3.141592653589793
area(2) #結果:12.566370614359172
volume (2)  : 25.132741228718345

これは便利。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?