ぎょーぼのぶろぐ

IT系の話を書いていくブログです。今はRubyの勉強中。

2020-08-01から1ヶ月間の記事一覧

【Ruby v2.6】クラス変数 その2(メソッドで生成した場合)

前置き クラス変数についてまとめます。 その2は、クラス変数をメソッド内で生成した場合の挙動について。 クラス変数のメソッド内生成 その1でも書きましたが、クラス変数はメソッド外だけでなく、クラスメソッドやインスタンスメソッド内でも生成するこ…

【Ruby v2.6】クラス変数 その1(基本的なこと)

前置き クラス変数について、まとめてみます。個人的には、インスタンス変数、クラスインスタンス変数より注意が必要な感じがしています。 その1は、基本的なこと。 クラス変数 クラス変数は、そのクラス、およびそのクラスから継承されたクラスで共有され…

【Ruby v2.6】protected とクラスメソッド、インスタンスメソッドの関係 ※2020.8.25 追記

前置き C# や JAVA でのメソッドの protected 指定は、「そのクラスと継承したクラスからアクセス可能」という意味ですが、Ruby の場合はちょっと挙動が異なるみたいなので、まとめてみました。 protected なクラスメソッド、protected なインスタンスメソッ…

【Ruby v2.6】クラスメソッド その3(public, protected, private)

前置き Ruby のクラスメソッドについてまとめます。 その3は、クラスメソッドの public, protected, private について 書き方 クラス定義内で、デフォルトでクラスメソッドを定義すると、public のクラスメソッドとなります。 ただ、インスタンスメソッドと…

「JavaScript Primer 迷わないための入門書」

Ruby 関連を調べていて知った、伊藤淳一さん(Ruby のチェリー本の著者の方です)のはてなブログを読んでいたら、JavaScript の本についての紹介記事がありました。 blog.jnito.com その中で、「JavaScript Primer 迷わないための入門書」という本が、Web上…

【Ruby v2.6】クラスメソッド その2(クラスメソッドと特異クラス)

前置き Ruby のクラスメソッドについてです。その2は、クラスメソッドと特異クラスについて。 クラスメソッド その1で、クラスメソッドの定義方法は、self.[メソッド名] で定義する、と書きましたが、これは、インスタンスオブジェクトに特異メソッドを定…

【Ruby v2.6】クラスメソッド その1(基本的なこと)

前置き Ruby のクラスメソッドについてまとめます。 インスタンスメソッドと同じく、その1は、基本的なことを整理します。 書き方 インスタンスメソッドの定義と同じように、クラス定義内で、def の後にメソッド名を書きますが、メソッド名の前にself.をつ…

【Ruby v2.6】クラスインスタンス変数

前置き Ruby の「クラスインスタンス変数」についてまとめます。 クラスインスタンス変数とは 書き方 クラス定義内で、文字列の頭に「@」をつけて表します。インスタンスメソッド内で生成する「インスタンス変数」と同じ書き方なので注意が必要です。 生成 …

【Ruby v2.6】インスタンスメソッド その3(特異メソッド)

前置き Ruby のインスタンスメソッドについてまとめます。 その3は、特異メソッドについて。 特異メソッドとは インスタンスは、クラスで定義された内容で生成されますが、「特異メソッド」は生成されたインスタンス自身に、新たに定義するインスタンスメソ…

【Ruby v2.6】インスタンスメソッド その2(public, protected, private)

前置き Ruby のインスタンスメソッドについてまとめます。 その2は、public, protected, private について 書き方 クラス定義内で、デフォルトでインスタンスメソッドを定義すると、public のインスタンスメソッドとなります。 インスタンスメソッドの定義…

【Ruby v2.6】インスタンスメソッド その1(基本的なこと)

前置き Ruby のインスタンスメソッドについてまとめます。 その1は、基本的なこと。 書き方 クラス定義内で、def の後にメソッド名を書き、機能の記述をendではさむことで定義できます。 インスタンスメソッドのサンプル 以下、サンプルのクラスです。 clas…

【Ruby v2.6】インスタンス変数

前置き Ruby の「インスタンス変数」についてまとめます。 インスタンス変数とは 書き方 クラス定義内で、文字列の頭に「@」をつけて表します。「クラスインスタンス変数」と同じ書き方なので注意が必要です。 生成 インスタンス変数は、インスタンスメソッ…

【Ruby v2.6】クラス階層について調べてみる

前置き O'Reilly の「プログラミング言語 Ruby」「メタプログラミング Ruby」を一通り読みました。 が、読んでると「なるほどー」と思って理解したつもりになっても、少しややこしいソースを見たりするとすぐにわからなくなる、、、「Classクラスが云々」「…