![](https://cdn-ak-scissors.b.st-hatena.com/image/square/8418d92b81d6bd201f89cae4de4dec75383754b5/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9aWYlRTYlOTYlODclRTMlODElQUUlRTglQTklOTUlRTQlQkUlQTElRTclQjUlOTAlRTYlOUUlOUMlRTMlODElOENmYWxzZSVFMyU4MSVBNyVFMyU4MiU4MmlmJUU2JTk2JTg3JUU1JTg2JTg1JUU5JTgzJUE4JUUzJTgxJUE3JUU1JUFFJTlBJUU3JUJFJUE5JUUzJTgxJTk3JUUzJTgxJTlGJUU1JUE0JTg5JUU2JTk1JUIwJUUzJTgxJUFGJUU0JUJEJTlDJUUzJTgyJTg5JUUzJTgyJThDJUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz00ZjQ3ODAyZGQ0ZjJkMmMwNDNiNmExZDlmZjBkYTcyNA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbW9ndWxsYTMmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTI3Y2MwMjA2YWE3ZGZlZTQzMThhMGQ0Yzc3YmFlNjI5%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Daaf90937378ecab1a9b5c74374f970b4)
エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
if文の評価結果がfalseでもif文内部で定義した変数は作られる - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
if文の評価結果がfalseでもif文内部で定義した変数は作られる - Qiita
if文の評価結果がfalseの場合、if文内部は実行されないのでNameError(undefined local variable or met... if文の評価結果がfalseの場合、if文内部は実行されないのでNameError(undefined local variable or method..)が発生すると思っていた。 少し調べてみたところ、『プログラミング言語 Ruby』の第4章(P92)に該当する部分が書かれていたので引用する。 Rubyインタープリタが変数に対する代入式を検出すると、その変数は存在するようになる。 実際にその代入が行われなくても、変数は作られるのである。 作られたが代入されていない変数には、デフォルトの値としてnilが与えられる。例えば次の通り。 a = 0.0 if false # この代入は絶対実行されない print a # nilを表示: 変数は存在するが代入されていない print b # NameError: bという名前の変数、メソッドは存在しない インタープリタに検出されているかどうか、