プログラマを殺すらしい全角スペース
本日,C言語勉強会がありました.
入学して数ヶ月,プログラミングなんて知らない一回生向けです.
そこである初心者あるあるな問題が起きたのです.
例えばこんなプログラムをみてください.
#include <stdio.h> int main(void) { printf("hello world\n"); return 0; }
一見するとなにも影響がないのですが,そう,「全角スペース」が入っている.
こうなると,コンパイルした時にみたことのないエラーがでるわけですね.
prog.c: In function 'main': prog.c:5:1: error: stray '\343' in program printf("hello world\n"); ^ prog.c:5:1: error: stray '\200' in program prog.c:5:1: error: stray '\200' in program
アシスタントとして参加してくれた上回生も,全角スペースだと気づかないこともあり,止まってしまうこともしばしば.
気づいても頑張って全角スペースを探している人が多数.
全角スペースを一発で見つける.
ほとんどのIDE,エディタでは,Windows : [ctrl + f], Mac[command + f]で検索ができます.
ここですね.
ここに,全角スペースを打ち込んでみましょう.
すると,上の画像のように全角スペースがハイライトされます.
置換機能がある場合などは一気に半角スペースに置き換えてあげるといいかも.
こうするとちまちま探す手間が省けます.(某うちのプログラミングの授業の教授もがんばって全角スペースを探していた)
何を今更…と思うかもですが
根本的に,ricty diminishedとかのコーディング用のフォントを使ってプログラミングしていたらそんなことは起こらないし,やってしまうのは初心者だけという意見も多いでしょう.
初心者こそこういうエラーが起こると放り出してしまいそうになるし,実際に今日そうなりそうな方もいたので書きました.
こういうのって本質的じゃないから本にも書いてないし,知らない人が結構いました,がこういうのの積み重ねで作業効率が大幅に変わるっていういい例だと思います.