LoginSignup
2
0

More than 5 years have passed since last update.

プログラミング初心者がprogate rubyを受講したあとで疑問に思いそうなことまとめ

Posted at

Q attr_accessorって何してるの?
A ある処理を省略する為に記述している

attr_accessorを使用しない場合は、以下のように書く必要がある

class Person
  def name
    @name #インスタンス変数の宣言
  end

  def name=(str) #書き込みメソッド
    @name = str
  end
end

person = Person.new
person.name = "Dennis"
person.name # => "Dennis"

毎回上記のように宣言するのは読みにくいしめんどくさいので省略する記法が存在する
以下は上記の動作と全く同じ動作をする

class Person
  attr_reader :name
  attr_writer :name
end

さらに短縮する記法はattr_accessorだ

class Person
  attr_accessor :name
end

参考 http://bryankawa.hatenablog.com/entry/2017/01/28/150537

Q Rubyでは++演算ができない理由は?
A 変数がオブジェクトでないRubyでは導入しにくいので現在はできない

参考 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/5323

Q クラスメソッドとインスタンスメソッドの使い分けがよくわからない
A 個人の見解では、クラスメソッドはクラス自身に関する情報の変更や参照をするときに使うと良いと思います

参考 https://qiita.com/tbpgr/items/56eb65c0ea5882abbb07

2
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
2
0