プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

牛乳買って来て。卵があったら6つお願い。

有名なコピペ。

妻「牛乳買って来て。卵があったら6つお願い。」

http://matome.naver.jp/m/odai/2133482271089849301

これをプログラミングとして考えてみましょう。

妻の意図
char kaumono = gyuunyuu;
char kaumono2 = tamago;
int kau_suu = 1;//1個は明言されてないが
buy (kaumono, kau_suu);
if (kaumono2 〉0){buy (kaumono2, 6}

夫の解釈

char kaumono = gyuunyuu;
char sagasumono = tamago;
int kau_suu = 1;
if ( sagasumono〉0){kau_suu = 6};
buy (kaumono, kau_suu);

会話の中では変数が無意識のうちに書き変わっています。
この書き変えが正しく伝達しないことによって意図しない動作が起きるのですね。