やった、頼もしい同期に叱られた

ねえ意味分かってる?分かってないでしょ。
Single quote(')とback quote(`)は違うんだよ。


説明しながら紙にえんぴつで書いてくれるソースを
とりあえず頷いて返事をしながら打ち込んでいたら、
打ち間違えに気が付いて指摘されて、ぴしゃり。


たしかに、手書きの文字だと判別しにくいけれど、
'と`は(気持ち)書き分けられていて、加えて、
使われる場所が決まっているので考えれば分かる。
でも、頭を働かせずにおまじないを写していると
ぜんぜん理解せずにどちらか適当に打ってしまって、
手抜き(いやでも精一杯だったんだよあれでも)が
ばれたのでちゃんと叱責。しっかりした先生だ。


一人だと、些細なミスでも原因が究明できないし、
ちょっとしたコツを知らないだけで泥沼にはまったり、
2、3時間があっという間に飛んでいくところだけれど、
めちゃくちゃ優秀なメンターがすぐ隣にいてくれるので、
エラーが解決できなかったり躓くとすぐ助けてくれる。


脱おまじない、ちょっとわかるだけでだいぶちがうし、
法則を見つけるとうれしい。ここはこうやると
さっき教えてもらった方法が応用できるんじゃないか
と試したらコンパイルが通って動くとすっきり爽快。


昨日遅くまで独習Cを読んだ予習が無駄じゃなくて、
苦手だった文字列ーーやっぱり、ポインタにし忘れたり、
まちがえて余分なdouble quote("")を入れてしまったり、
文字列をそのまま変数に代入しようなんて不可能なことを
無茶苦茶書いたり、文字列の処理で苦戦したけれどーー
strcat()が使えたのがよかった。そこで使うのかと発見。
それが、string concatenationの略だと知ってると
関数名から機能が推測できるようになってると納得。
ファイル入出力のfopen(), fprintf(), fclose()が
自力でも使えて、ログをファイルに書き込めて
思い通りの情報が出力できてると感慨もひとしお。


main()とかの引数でいつもよく目にしていた
int argc, char *argv[]
の意味がやっとはっきりとその目的と実際の使い方も
含めて理解できたのが衝撃だった。そうか、そうか!
だいたいいつも、引数はとりあえずvoidでいいや、
で済ませてきたけれど、それは浅はかだった。
今まで避けて来たところだけに、知ってみれば
難しいことをしてるわけじゃなくて、意外に単純。
引数がいくつあるのかと、引数名を順番に
並べたのを受け取るだけだなんて。当然だ。


久しぶりに叱られた。でもそれがうれしいのなんの。
すぐに訂正、修正、補足、改善の提案がもらえる、
できる上司のもとにいられる幸せ、ってちがうか。
切磋琢磨というよりは、磨かれっぱなしの状態で、
せめて、教えることで得るものがあればよいのに。
手のかかる生徒の指導で疲れてなきゃいいけれど。


先生のおかげで、だいたいの骨格はほぼ構築。
あとは細かいところを作り込んで仕上げるのみ。
ありがとうございます。感謝の言葉もないよ。