【问题标题】:bareword found where operator expected在操作员预期的地方找到了裸字
【发布时间】:2011-06-17 12:29:03
【问题描述】:

我是 perl 的新手,我正在摆弄。我在网上找到了这段代码。 这是代码的sn-p:

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 在“process_input(n, Task”第 83 行附近找到操作员预期的位置。 可能是从第 82 行开始的失控多行字符串。

【问题讨论】:

  • 你确定你在摆弄它的 Perl 吗?
  • 同意,这看起来更像序言。
  • AFAIK prolog 和 perl 都使用“.pl”作为扩展名,这可能是混乱的根源。

标签: perl


【解决方案1】:

“Bareword”错误是由代码中的语法错误引起的。 “多行失控”通常指出错误的开始位置,并且通常意味着一行尚未完成,通常是因为括号或引号不匹配。

正如几个 SO-ers 所指出的,这看起来不像 Perl! Perl 解释器因语法错误而犹豫不决,因为它不会说那种特定的语言!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多