Kanioの日記

ジャンルが定まらず、混沌としています。

Ruby クラス確認、日時の変換 - IT開発備忘録

細かいの色々
クラス確認、日時の変換 ... 等

クラス確認
基本だけど良く忘れる、やばい。kind_of? と同じ。

obj.is_a?(mod)

ドキュメントによると is_a? は

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

instance_of?は

オブジェクトがクラス klass の直接のインスタンスである時真を返します。

なので地味に違う。学びがあるけど、使い分けが必要な時は来るのか。

Object#is_a? (Ruby 3.1 リファレンスマニュアル)

Object#instance_of? (Ruby 3.1 リファレンスマニュアル)

日時の変換
DateTimeとStringの変換が多い気がするが、これもよく忘れる。
と思ったら、DateTimeクラスは非推奨で、Timeクラスを使うべきとのこと。

# String -> Time
t = Time.new(yyyy,mm,dd,hh,mm,ss,TimeZone)
tt = Time.parse(mojiretsu)

# Time -> String
t.strftime(format)

Time.parse は失敗するとArgument Errorが発生するので、rescueすることが推奨されている。Time.parse (Ruby 3.1 リファレンスマニュアル)

strftimeのフォーマットは都度ドキュメントを見るのが早い。Time#strftime (Ruby 3.1 リファレンスマニュアル)



備忘録の一覧はこちら mokuzukanio.hatenablog.com