ブール値true、ブール値false、文字列「true」、または文字列「false」の4つのうちの1つになる値があります。文字列の場合は文字列をブール値に変換し、それ以外の場合は変更しないでください。言い換えると:
「真」は真になるべき
「false」はfalseになります
trueはtrueのままである必要があります
falseはfalseのままである必要があります
!!(if input == 'false' then true else input end)
。2つ目!
は、戻り値を必要なものと反対のブール値に変換します。最初に!
修正を行います。この「トリック」はずっと前からあります。誰もがそれを好むわけではありません。
true
いずれfalse
かである必要がありますか、それとも結果が真実か偽りであれば十分ですか?後者の場合、false
falseyすでにあり、両方true
と'true'
truthyなので、結果はすでに正しいされていない唯一の値は、です'false'
:if input == 'false' then true else input end
それを行う必要があります。