LoginSignup
0
0

More than 5 years have passed since last update.

[Ruby入門] 00. その他のトピック(とりあえず未分類なもの)

Last updated at Posted at 2017-04-02

>> 連載の目次は こちら!

  • とりあえず未分類な小さめのトピックをこちらに書いていく
  • 随時更新する
  • 個別に話が大きくなったら章立てする

■複数行のコメント

=begin
ほにゃらら〜
仕事し給え!
=end

■オブジェクトの型判定

str = "mojiretsu"
puts str.class               # クラス名を取得
p str.is_a?(String)          # あるクラスかまたはそのサブクラスのインスタンスか
p str.kind_of?(Object)       # is_a? と同じ
p 3.14.instance_of?(Numeric) # あるクラスそのもののインスタンスか(サブクラスのインスタンスならfalse)

■モジュールがミックスインされているか

# is_a? は、サブクラスだけでなく、あるモジュールがincludeされている場合もtrue を返す
[1, 2].is_a?(Enumerable) 

■オブジェクトの比較

equal? メソッドは、オブジェクトが同一かを判定する。
== 演算子は、Object クラスにおいては equal? メソッドの別名だが、たいていのクラスでは値そのものを比較するようにオーバーライドされている。Stringなども同様。
なので、例えば str1 == str2 は文字列の値を比較している。

■型キャスト

「to_ほにゃらら」メソッドがオブジェクトごとに定義されている

num = "1".to_i
str = 1.to_s
p num, str

■シンボル

単純にラベルやキーとして扱いたい特別なオブジェクトで、Stringに近い

sym = :mykey1                # :mykey1
str = sym.to_s                 # "mykey1"
sym = "mykey2".to_sym   # :mykey2
0
0
2

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