首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sweet.js不能返回#‘`else`’

sweet.js不能返回#‘`else`’
EN

Stack Overflow用户
提问于 2016-09-25 00:32:13
回答 1查看 72关注 0票数 0

main.js

代码语言:javascript
复制
import {另} from './chinese-macros';
另 {
}

chinese-macros.js

代码语言:javascript
复制
export syntax 另 = function(ctx) {
    return #`else`;
}

main.js应该编译成else {},但是我得到了以下错误消息:

代码语言:javascript
复制
throw this.createError(start, "not a valid expression");

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-14 05:24:05

else {}本身就是一个无效的表达式,所以您才会收到该错误消息。你所做的(我相信)是在尝试用中文代替if (If)。因此,假设您已经为if语句创建了一个宏,编译器将最终为if、计算宏,然后为macro宏单独计算

相反,您应该在一个宏中为if/else-if/else语句构建一个宏,就像教程如何为一个cond表达式构建一个宏:cond。请注意,它们是如何迭代关键字的,首先是case,然后是default,如果这两个关键字都没有出现,则会抛出一个错误(无效语法)。除了按顺序做ifelse ifelse之外,你想要达到的目的也是一样的.同时添加更多的错误处理和考虑不同的语法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39682273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档