语法错误,意外 ')',期待 '='
Posted
技术标签:
【中文标题】语法错误,意外 \')\',期待 \'=\'【英文标题】:syntax error, unexpected ')', expecting '='语法错误,意外 ')',期待 '=' 【发布时间】:2015-10-14 03:51:15 【问题描述】:我正在为基于 Jekyll 的网站编写 Redcarpet 扩展程序。我想使用x|y
作为markdown 中的一个标签,它评估为html <ruby>
标签(及其关联)。我按照Jekyll's guide、Redcarpet's guide 和this guide 编写了这个类,说明如何这样做:
class Jekyll::Converters::Markdown::HotelDown < Redcarpet::Render::HTML
def preprocess(doc)
s = "<ruby><rb>\\1</rb><rp>(</rp><rt>\\2</rt><rp>)</rp></ruby>"
doc.gsub!(/\[([\s\S]+)\|([\s\S]+)\]/, s)
doc
end
end
但是,当我运行 bundle exec jekyll serve
时,我似乎遇到了一些错误:
Configuration file: C:/Users/Alex/OneDrive/codes/hotelc.me/hotelc.me/_config.yml
plugin_manager.rb:58:in `require': HotelDown.rb:4: syntax error, unexpected tIDENTIFIER, expecting ')' (SyntaxError)
doc.gs-ub!(/\[([\-s\S]+)\|([-\s\S]+)\]/-, s)
^
HotelDown.rb:4: syntax error, unexpected ')', expecting '='
doc.gs-ub!(/\[([\-s\S]+)\|([-\s\S]+)\]/-, s)
^
我的语法似乎有问题(多余的空格、缺少括号或类似的东西)。有什么我错过的吗?
【问题讨论】:
【参考方案1】:您的代码有一些特殊字符导致此错误:
syntax error, unexpected ')', expecting '='
doc.gs-ub!(/\[([\-s\S]+)\|([-\s\S]+)\]/-, s)
用这段代码替换你当前的代码:
class Jekyll::Converters::Markdown::HotelDown < Redcarpet::Render::HTML
#Overriding the preprocess() function
def preprocess(doc)
s = "<ruby><rb>\\1</rb><rp>(</rp><rt>\\2</rt><rp>)</rp></ruby>"
doc.gsub!(/\[([\s\S]+)\|([\s\S]+)\]/, s)
doc
end
end
markdown = Redcarpet::Markdown.new(HotelDown)
它应该可以工作!
【讨论】:
啊!当然:当我第一次写代码时,我不小心用日文键盘输入了一些字符。 另外,我想知道堆栈跟踪中的那些破折号是什么......现在我知道了。谢谢!以上是关于语法错误,意外 ')',期待 '='的主要内容,如果未能解决你的问题,请参考以下文章
为啥这个解析错误在这里解析错误:语法错误,意外标识符“编辑”,期待“,”或“;”? [复制]
使用 foreach 更新 Laravel 错误:语法错误,意外 ' ' (T_STRING),期待 ']'
Inflector.php 第 265 行中的 FatalErrorException:语法错误,意外 ':',期待 ';'要么 ''