目的
巷でよく話題になるトイレットペーパーの画像
こちらは変数の値でよくわからないものが一瞬でわかるとても素晴らしい画像です。
しかし、時と場合によってはその例えが相応しくないかもしれないので、今回はお食事中でも話せるように、ファミチキを例に変数の値を説明してみようと思います。
ファミチキを題材にした理由は、
俺がnullと0の違いを世界一わかりやすく説明する
1 :名無しの話 :2020/02/09(日) 01:37:58 ID:yceNSwaK0
0
ぼく「ファミチキください」
ファミマ店員「すいませんファミチキ無いんですよ」null
ぼく「ファミチキください」
セブン店員「すいませんファミチキ無いんですよ」ほらわかっただろ?
という有名なコピペを膨らませてみたかったからです。
この記事の目的は初学者でも0とNULL、underfinedの違いがイメージできるようになるです。
ファミチキください
non-0-value
ぼく「ファミチキください」
ファミマ店員「あいよ! ファミチキ一丁!」
→ ファミマなのでファミチキを売ることができます(=変数が定義されている)。
在庫があるようなので、「ぼく」は無事にファミチキを買うことができました。
これが0でない値です(今回は負の数や小数については割愛)。
0
ぼく「ファミチキください」
ファミマ店員「申し訳ございませんが売り切れです」
→ ファミマなのでファミチキを売っていたようでした(=変数が定義されている)。
しかし、在庫がないので「ぼく」はファミチキを買えませんでした。
NULL
ぼく「ファミチキください」
ファミマ店員「当店はファミチキの取り扱いがありません」
→ ファミマですがそもそもファミチキを置いていないようです。
ですが、ファミリーマートなのでファミチキ自体は仕入れようと思えば仕入れることができます(ファミリーマートにファミチキ自体は定義されているので)。
Underfined
ぼく「ファミチキください」
セブン店員「ファミチキ? なんですかファミチキって?」
→ セブンイレブンなので、ファミチキを売ることはできません(定義されていない)。
冒頭のコピペでは「NULL」で説明されていましたが、こちらのほうが認識としては近いのではないでしょうか。
NaN
ぼく「ファミチキください」
ドジっ子ファミマ店員「はわわ~!!! ファミチキ売り場に間違えて炭火焼とりももタレを置いちゃっためぅ~>< これだとしばらくはファミチキを置いてもタレファミチキになっちゃって売り物にならないめぅ~><」
→ ファミチキ売り場にファミチキでないものが入っています。
しかも炭火焼とりももタレにファミチキを補充しても、タレがついてしまって売り物になりません。
NaNとは「非数」です。数で定義された変数に違うものを入れて、仮にそれに1を足してもそれは数にはなりません。使いものにならなくなってしまうので、タレファミチキを例に出してみました。
まとめ
値 | 状態 |
---|---|
non-0-value | ファミチキ買える |
0 | ファミチキ売り切れ |
NULL | ファミチキがないファミマ |
Underfined | セブンイでファミチキください |
NaN | ファミチキ売り場に炭火焼とりももタレ |
という感じです。
ここまで読んでいただきありがとうございました。
クリスマスなどに使えるネタ……とかにでも使っていただけたら嬉しいです。
ちなみに私が一番好きなのはパリチキです。次点で揚げ鶏かな~!!!