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