0
下面的代码编译并运行正常:预计在case语句“端”
fun {Tokenize Lexemes}
case Lexemes of
Head|Tail then
case Head of
"+" then
operator(type:plus)|{Tokenize Tail}
else
if {String.isFloat Head} then
number(Head)|{Tokenize Tail}
else
nil
end
end
else
nil
end
end
但是,如果我再添加一个实例条款,如下面的代码,我编译关于丢失时,得到一个错误“结束“声明。
fun {Tokenize Lexemes}
case Lexemes of
Head|Tail then
case Head of
"+" then
operator(type:plus)|{Tokenize Tail}
"*" then
operator(type:multiply)|{Tokenize Tail}
else
if {String.isFloat Head} then
number(Head)|{Tokenize Tail}
else
nil
end
end
else
nil
end
end
错误:
** expected 'end'
** inside case phrase (at the line of the "*")
是怎么回事?