有没有一种方法可以覆盖Vorpal模式退出命令
Is there a way to override the Vorpal mode exit command?
我使用Vorpal mode
来允许用户键入文本,稍后我会对其进行解析(我找不到使用常规command
的方法,因为我无法提前考虑所有文本)。当用户键入exit
时,他就退出了模式。我希望它是一个不同的字符串,或者可能是一个额外的字符串(比如quit
或end
)。
有没有一种方法可以覆盖exit
命令,或者如果没有,当用户提供某个字符串时,我自己触发它?
示例代码:
下面是一个实现反向波兰符号计算器的练习。如果你看一下handleInput
函数(第47行),你会发现我不得不手动处理q
字符串并终止进程——我只想让它表现得像模式的exit
命令(第74行附近的某个地方)。
目前还没有办法做到这一点,但您可以在Github上提交一个问题,将其添加为增强功能,因为这是一个好主意。
但是,看起来catch
命令可能更符合您的要求。这接受任何任意命令,而不处于"模式"。
更新
在查看您的代码时,看起来catch
可以做到这一点。类似这样的东西:
vorpal
.catch('[input...]')
.action(function (args, cb) {
handleInput(args.input.join(' '), cb);
});
在上面的示例中,应用程序一启动,就好像您已经处于"模式"中。任何与预定义命令(如exit
)不匹配的命令都将调用catch方法,并且它可以通过接受可变参数并将其连接来表现为一种模式。
这有道理吗?
相关文章:
- 在循环中分配json值时,值被覆盖
- 谷歌地图固定位置覆盖
- 只覆盖箭头键滚动事件
- JQuery覆盖不更改单选选项
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- 传单中如何在更改基层时启用/禁用覆盖层
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- HTML/CSS-用于拖放的全页面覆盖
- 让javascript知道epub3电子书中何时播放媒体覆盖
- 覆盖函数中的函数
- 无法覆盖CSS伪元素:before
- 如何覆盖原型中的事件侦听器
- 覆盖在赢得'不允许点击下面的标记,谷歌地图api v3
- 如何覆盖主干中的extend方法
- jQuery无法处理覆盖
- qoxdoo的代码覆盖工具
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 有没有一种方法可以覆盖Vorpal模式退出命令