1. ホーム
  2. perl

[解決済み] 演算子で指定された場所にベアワードが見つかりました。

2022-02-10 17:46:57

質問

私はperlの初心者で、いろいろといじくりまわしています。 ネットでこんなコードを見つけました。 以下はそのコードのスニペットです。

82 process_input(q,[]).
83 process_input(n,Task) :- toptask(Task), set_new_threshold.
84 process_input(s,Task) :- suggest_task(T),
85         apply(addtoagenda,T),toptask(Task).
86 process_input(x,Task) :- print('not yet implemented'),nl,toptask(Task).
87 process_input(i,Task) :- user_task,toptask(Task).

そして、こんなエラーが出ています。Bareword found where operator expected near "process_input(n, Task" line 83. 82行目から始まる複数行の ,, 文字列が暴走している可能性があります。

解決方法は?

ベアワード」エラーは、コード内の構文エラーによって発生します。暴走した複数行」は、通常、エラーの開始位置をピンポイントで特定し、通常は行が完了しなかったことを意味します。

何人かのSO-erから指摘されているように、これはPerlらしくないですね!? Perlのインタプリタが構文エラーで渋い顔をしているのは、その特殊な言語を話せないからです!