Site icon Mr. 沙先生

Ruby 裡判斷 Boolean 值的方式

其實這篇是因為在寫 puppet template (erb) 的時候遇到的問題,看起來會很常用到,先記錄下來

 

要講問題之前,先看看 Ruby 的資料型別

 

一般狀況下判斷各種 data type 可以用 value.is_a? 或 value.kind_of? 的方式,例如:

value.is_a? String
value.kind_of? Integer

 

可是從上圖來看,Ruby 並沒有 Boolean 這個型別,而是 TrueClass 和 FalseClass

 

如果想要一行判斷 Boolean 中的 true 和 false 型別的話,要用 include 的方式來做

[true, false].include? value

 

寫在 puppet template 的話就像這樣:

<%- if [true, false].include? value -%>
...
<%- end -%>

 

這樣可以少寫一點 code (煙 …

 

 

參考資料:

Elegantly check for boolean type in rails

Ruby教學 – 資料型態(Data Type)

Exit mobile version