格好悪いとはこう言う事さ

飛ばない豚の格好悪い日常を書き綴る、豚の独り言。

¥と\。

¥と\。

 今朝、友人の娘さんでとある女子大に通う人から、「C言語について教えて欲しい」とメールが届きました。
 なんでも、テキスト通りに入力したのにコンパイルが通らずにエラーが出るとのことで、テキストの該当ページの写真と実際に入力したコードの写真が添付してありました。
 写真を見ると、まだ入門の中でも始めの方で、制御文についてのサンプルプログラムでした。見たところ、その人が入力したコードには間違いがありません。敢えて言うならプリプロセッサの宣言文で、スペースが抜けていたくらいでした。
 実際に豚のPCでもコードを入力してみて、コンパイル・実行出来るのを確認した上で、#includeの後にスペースが抜けている旨を指摘して、その場は終わりました。

 しかし数分後、やっぱりエラーが出てしまうとのメールが。エラーコードを聞くとどうやらmain関数の宣言に問題があるという謎のエラーでした。
 もしかして開発環境による違いかも知れないと思い、コンパイラの種類を聞いてみました。「iPadでコードを書いている」という事はわかりましたが、コンパイラの種類は全くわからずでした。
 でもここで、豚は気付いていなければいけなかったんです。数日前に別の友人からのメールで、WindowsとLinux系の文字コードの違いについて教えて貰っていたのを……。

 その娘さんが使っていたテキストは、恐らくWindowsでの開発環境を前提として書かれていたんでしょう。改行のエスケープシーケンスのコードが¥nとなっていました。当然豚の環境では正常に動作します。でも、その娘さんが使っていたのはiPad。¥マークは\とコードに書かなくてはいけません。いや、寧ろわざわざ¥マークをどうやって入力していたのか謎は残ります。

 暫くしてその娘さんから「¥マークを\に変えたら動いた!」とメールが届きました。どうやってその事がわかったのか、丸2日間ほど悩んでも動かなかったと聞いていましたが、自力で解決したようでした。もしかすると豚が送ったメールに書いたコードが相手のスマホに届いた段階で、¥が\に文字化けしていたのかも知れません。
「テキストの誤植だ」と書かれていたので、「テキストは間違っていません。今は取り敢えずWindows系は¥n、MacやLinux系は\nだと覚えておいて下さい。」と返信して、無事に解決しました。

 しかしどう考えても、iPadでC言語を教えるのに¥マークと\の違いも説明せずに学生に自主学習をさせるほうがおかしいでしょう。学校は一流の4年制女子大ですが、教官は余り優秀では無いのかも知れません。(失礼!)

 まぁ豚もiPadと聞いて、すぐにこの件を思い出せなかった時点で同じ穴の狢ですが……。

 午後2時55分

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です