読者です 読者をやめる 読者になる 読者になる

間違い探し

さて、以下のPythonコードを実行すると
何が出力されるでしょうか?

x = (
    ('Kawasaki', 28),
    ('Yamada', 25),
    ('Tanaka', 32),
    ('Tom', 18),
    ('Mark', 21),
    ('Bill', 46),
)
print len(x)


簡単ですね、答えは 6 です。
では次はどうでしょう。

x = (
    ('Kawasaki', 28),
""" Comment out for debug.
    ('Yamada', 25),
    ('Tanaka', 32),
    ('Tom', 18),
    ('Mark', 21),
    ('Bill', 46),
"""
)
print len(x)


私はうっかり100行あまりある前者のようなdictに対して、
後者のようなコメントアウトをしてしまいました。
なんともお恥ずかしいですが、
私は結果が 1 となるものだと思ってコメントアウトしてしまったのです。


しかし結果は 2 となりますよね^^;
タプルの2番目の要素として文字列が格納されています。


こんなミスで小一時間ハマってしまうとは、
これはもう海外逃亡でもしなければなりませんね。
とりあえずコメントアウトするために """ を使用するのはやめて、
マクロで選択範囲の全行の行頭に # を付けるようにしました。


今まで C/C++言語で育ってきた私にとって
これはいささか衝撃的な事件でした。


もう海外にでも逃亡するしか無いですね、
というわけで明日土曜日から5日間程フィリピンに行って参ります。