[Ruby]”true”, “false”の文字列をboolean値に変換する方法

はじめに

そもそもbooleanとは、真と偽のような2つの状態を表すデータ型だが、Rubyにはbooleanが存在しない

そのため、以下のように実装することで変換できる。

メソッド定義

Stringクラスに、to_booleanメソッドを定義する。

class String
   def to_boolean
     if self == "true"
       true
     elsif self == "false"
       false
     end
   end
 end

動作確認↓

"true".to_boolean
=> true

 "kato".to_boolean
=> nil

 1.to_boolean
NoMethodError: undefined method `to_boolean' for 1:Integer

*クラス定義をStringにしているため、”true”,”false”以外の文字列には「nil」が

 文字列以外の、1のような数値の場合は、上記のようなエラーが現れる。

タイトルとURLをコピーしました