问题标签 [sweet.js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 Sweet.js 中访问父母变量
我正在创建一个新的面向对象系统,我需要访问宏父级的变量。我有以下内容:
我希望能够在 中fn macro
拥有可用的module
名称,在这种情况下x
,因为也许我想做类似的事情$parentModule.prototype.myFunc
。但如果我这样做$e$e
,它就不能正常工作。可能吗?
javascript - Javascript 宏:实现 F# 风格的正向管道运算符
我想实现一个高阶函数 ( hof
),它基本上像 F# 风格的正向管道运算符一样工作(将一个值作为第一个参数传递给另一个函数,myFunc
)。我能想到的唯一方法是:
args_array
调用的参数数组在哪里myFunc
(不包括第一个参数,因为那将是val
)
但这对我来说看起来不是很优雅。有一个更好的方法吗?
编辑:我在 github https://gist.github.com/aaronpowell/d5ffaf78666f2b8fb033上找到了这个。但我真的不明白sweet.js
代码在做什么。如果您可以注释代码,这将非常有帮助,特别是:
sweet.js - 使用 sweet.js 宏删除日志语句
我今天刚开始使用 sweet.js,所以有些问题可能很容易解决......
我想从我的生产版本的源中删除日志语句。sweet.js 似乎足够灵活来做到这一点。
有多种日志语句和限制:
console.log( "wow");
应该被删除,而console.warn( "wow");
因此应该保持不变。this.log( "wow");
也应该删除在像这样的陈述中
this.assert(foo, "foo is undefined").log( "object created");
,应该去掉部分。this.assert(foo, "foo is undefined").log( "object created").flush();
.log( ...)
我当前的 sweet.js 宏包括示例什么工作和什么不工作:
你可以在这里玩:sweetjs editor contains this example
欢迎任何帮助:-)
sweet.js - sweet.js 宏是否可以定义其他宏?
我试图定义一个 sweet.js 宏,它允许更容易地定义其他重复宏,但我在这里发现了一个语法错误:
这是产生此语法错误的宏:
如果这个宏被正确定义,那么它将允许创建其他宏,比如这个:
换句话说,是否可以定义一个将自动转换此宏的宏:
...进入这个宏?
javascript - Sweet.js:在标记之前针对变量的宏?
我的 TODO 列表中的一项是创建一种有趣的编码语言,它可以“编译”为 JavaScript。我想为此尝试Sweet.js,但我想知道是否可以编写一个针对规则之前的关键字的规则?
例如,假设您想要创建一个 Yoda 风格的 JavaScript。源代码行可能如下所示:
将映射到
这可能使用 Sweet.js 吗?
sweet.js - 为什么 case 宏不嵌套?
鉴于这个 sweet.js 宏
而这个源代码:
您如何创建一个产生此输出的案例:
而不是这个?
PS实际用例需要案例宏,而不是规则宏。
javascript - 如何在 sweet.js 中创建参数化中缀宏
在bluebird wiki 关于 JavaScript 优化杀手的文章中,作者提到将arguments
关键字传递给任何函数(除了apply
)都会导致父函数不可优化。我想创建一个sweet.js宏,它允许我编写标准的惯用 JavaScript,但会处理优化杀手。
理想情况下,我想要一个具有以下功能的宏:
并输出如下内容:
但是,我无法正确获取 sweet.js 宏语法。 这是我到目前为止所拥有的:
例子.sjs
输出以下内容:
我尝试让我的宏在arguments
关键字周围加上括号并包含var
声明,但没有任何成功。我试过这样的事情:
无效宏
这会产生以下错误:
macros - Sweet.js 宏将任何传递给宏的结构失败
我有一个宏,我可以在括号之间输入任何代码。然后我将它传递给另一个对该代码有规则的宏。我在其中做其他事情,test
它的名称不同,但我认为一个最小的测试用例在这里会很有用。
这是我收到的错误消息:
sweet.js - 是否可以将 sweet.js 宏“m”扩展为符号“m”?
假设某处有一个名为 的函数m
,它的调用方式如下
我有一个 sweet.js 宏,它定义了一个名为的宏,该宏m
用于获取 foo.js 并展开m
(基本上是在编译时运行该函数)
在某些情况下我不想扩展m
,因为与宏不同,函数可以作为一等公民传递
如果我在宏中没有涵盖这种情况的案例,sweet.js 会抱怨,所以我需要一个只扩展为相同符号的包罗万象的规则。
鉴于宏的其他情况确实需要递归扩展为宏,如何使m
宏扩展为函数?m
m
codekit - CodeKit 是否支持 sweet.js 编译?
我只是想知道 CodeKit 是否支持 Sweet.js 文件的编译?