心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

パーフェクトRuby 2章Rubyの基礎 2-3 条件分岐と真偽値

   


p50
2-3 条件分岐と真偽値
falseとnil以外は全部true

p51
2-4 式

Rubyのプログラムは殆どがなんらかの値を返す式

名文句。

2-5 クラス
クラスは4章で別途。

クラス名はキャメルで書く。
クラス名.newでインスタンス生成する。

p52

2-5-2 インスタンス変数
インスタンス内で参照できる変数がインスタンス変数。最初に@をつける。
外部からインスタンス変数にアクセスする時はメソッドを用意してあげる。それ専用のメソッドは終わりに=をつける <=これがおもろい。 [code] class Ruler def length=(val) @length = val end def length @length end end ruler = Ruler.new p ruler.length #=> nil まだ@length値がない ruler.length = 30 # length=メソッドにval値に30を引数として渡す。@lengthに30が代入される # ruler.length=(30) #こう書いても動いた p ruler.length #=> 30 [/code] "length=" という"="までがメソッド名として定義されていて、さらにメソッド呼び出しのときは "ruler.length =" となっているところがなんともまぎらわしい。説明ないとわからんわ。 p53 インスタンス変数の外部参照、ほとんどがアクセサなので、実際はattr_なんちゃらで済む事が多い。 attr_reader(ゲッター), attr_writer(セッター), attr_accessor(ゲッターとセッター)の3種類ですね。 [code] class Scale attr_accessor :weight end scale = Scale.new p scale.weight #=> nil まだ@weight値がない scale.weight = 20 # @weightに20を代入 p scale.weight #=> 20 [/code] attr_なんちゃらのときは、ゲッターセッターメソッドだけでなく、@で始まるインスタンス変数宣言しなくてもできていることになっている。 インスタンス変数@weight ゲッターメソッドweight セッターメソッドweight= の3つがattr_accessor :weightで作られている。 attr_なんちゃらってずっとrailsの機能だと思っていたのですがrubyだったんですね。 2-5-3 self ここよくわからんので勉強するよ! selfはメソッドの中で、そのメソッドが属しているインスタンスを指す変数。 省略できるときはする。 セッターメソッドでselfを省略すると、セッターメソッドが呼び出されず単にローカル変数への代入としてみなされてしまう。 [code] class Ruler attr_accessor :length def set_default_length self.length = 30 #selfを省略しlength = 30とすると、ローカル変数lengthへの代入になってしまう #@length = 30 #こう書いても同じ end def display_length puts length #self省略可能 #puts self.length #selfを省略しない場合 #puts @length #こう書いても同じ end end ruler = Ruler.new ruler.set_default_length ruler.display_length p ruler.length #=> 30 [/code] Railsからruby始めるとすごくごっちゃになっていた箇所でした。 p54 2-5-4 初期化 インスタンスの初期化メソッドinitialize。newしたときに自動的に呼ばれる。Javaで言うコンストラクタ。初期化の値はnewの引数で渡すことができる。 [code] class Ruler attr_accessor :length def initialize(value) @length = value end end ruler = Ruler.new(30) p ruler.length [/code] 長いので次は 2-5-5 クラスメソッド から

 - テクニカル ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
RailsTutorial4.0を高速で復習する。10.3.3章。

10.3.3フィードの原型、です。 仕様の確認 ユーザーログイン後、トップページ …

no image
RailsTutorial4.0を高速で復習する。7.3章。

7.3ユーザー登録失敗、です。 ここでは、エラーメッセージの表示を実装します。 …

no image
RailsTutorial4.0を高速で復習する。3.2章。

3.2章は最初のテストです。 Railsチュートリアルは、アプリケーションの振る …

no image
Macで.htaccessを表示する設定

MacBook Air2代目。以前は行っていた.(ドット)がついたファイルをMa …

no image
RailsTutorial4.0を高速で復習する。3.5章。最後の問題。

3.5演習、3もんめ、最後の問題です。 3.(上級者向け)「Heroku pag …

RailsTutorial4.0を高速で復習する。7章

第7章ユーザー登録、です。 6章でuserモデルを作ったので、7章はwebでの登 …

iPad使用前/使用後、雑感。

5/28にiPadがAppleStoreからクロネコヤマトで届けられました。 週 …

no image
「Follow me」バッジのつけ方。

ブログの横についている「Follow me」バッジ。いろんな方がつけているのを見 …

no image
RailsTutorial4.0を高速で復習する。10.3.3章。

10.3.4マイクロポストを削除する、です。 仕様 マイクロポスト個別に削除でき …

no image
future vision 2019 vs 2010

マイクロソフトのfuture visonが話題らしい。 2019年の近未来。 情 …