質問: puts password.length # password_lengthが0でない場合に"パスワードが入力されました"とputsしてください unless password_length==0 puts "パスワードが入力されました" end # password_lengthが4文字以上10文字以下の場合に"パスワードは適切な長さです" とputsしてください if password_length>=4&&passowrd_length<=10 puts "パスワードは適切な長さです" end ```
回答: `puts password.length`は`password.length`を画面に出力するだけです。 `password.length`の値それ自体ではありません。 `password_length = puts pasword.length`だと、 「`password.length`を画面に出力する」の結果を`password_length`に代入しています。 「`password.length`を画面に出力する」の結果って`password.length`なんじゃないの? と思うかもしれませんがRuby的には`nil`という値(というかなんというか)になります。 というわけでその書き方だと、`password.length`には`nil`が入ります。 期待している動作をさせたいなら `password_length`にそのまんま`pasword.length`を代入しましょう。