- 1. 概要
- 2. Object
- 3. 何ものか? kind_of?
- 4. 参考サイト
1. 概要
最初にソースを見たときに、「perl」や「php」のように変数が「$」で始まったりしないのね、配列が「@」で、連想配列が「%」だったりしないのね。
とびっくり。
「$」には別の意味があるのでした。
変数に関しては、参考サイトに詳細が述べられています。
ええい、面倒だ。
表に書いておこう。
| 分類 | 先頭文字 | 備考 |
| ローカル変数 | _ か 小文字 | |
| インスタンス変数 | @ | |
| クラス変数 | @@ | |
| グローバル変数 | $ | |
他に、真偽「NULL」をあらわす「擬似変数」というものがあってそれは、参考サイトをご参照ください。
インスタンス変数・クラス変数というものの違いがよくわからない・・・。
参考サイトを読んで、どこかで一度整理したいと思います。
2. Object
詳細は、参考サイトをご参照ください。
「Object」クラスというのがあって、これがすべてのクラスの抽象クラスになるのだそうな。
3. 何ものか? kind_of?
kind_of? か is_a? を使って(同じ引数と戻り値)でオブジェクトがなにものかを調べられます。
kind_of?(mod)
is_a?(mod)
引数に指定できるのは「クラスやモジュールなど、Moduleかそのサブクラスのインスタンス」とのことで
#!/usr/bin/env ruby
hash = { :foo => 'fufufu' }
puts('hash.kind_of?(Hash) = ['"#{hash.kind_of?(Hash)}"']')
puts('hash.kind_of?(Array) = ['"#{hash.kind_of?(Array)}"']')
上記のコードを実行すると、下記の結果になります、
> ./ソースファイル名.rb
hash.kind_of?(Hash) = [true]
hash.kind_of?(Array) = [false]
4. 参考サイト
本ページは、下記のサイトを参考にさせていただきました。
「Ruby 2.4.0 リファレンスマニュアル > 変数と定数」
「Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Objectクラス」
「擬似変数 true false nil」
「【まとめ】インスタンス変数、クラス変数、クラスインスタンス変数」
|
|