Javascript + RegEx:不一致的Switch案例性能

时间:2017-02-26 02:01:31

标签: javascript regex

我是一个菜鸟,需要一些帮助。我正在开发一个个人项目:一个基于文本的游戏。我创建了一个用于解析用户输入的switch case。除了其中一个案例之外,所有案例都一致有问题的案例可以在这里找到:

https://github.com/cornopaez/cornopaez.github.io/blob/dev/js/adventure-game/controller/controller.js#L386

对于那些不想点击链接的人,代码看起来像这样(没有所有额外的逻辑):

var solve = /^solve mystery$/g;

switch (user_input) {
  //Some cases

  case (solve.test(input_string) ? input_string : ""):
    //game logic
    break;

  //Other cases including Default
}

简而言之,复制/粘贴"解开谜团"并调用解析器会导致混合结果。案例中的逻辑只会每隔一段时间运行一次。具有类似设置的所有其他情况(RegEx的var和三元设置的情况)一致地工作,没有任何问题。

由于我是一个菜鸟,我知道可能有更好的方式以更简洁的方式获得相同的结果。

任何想法如何解决这个麻烦的错误?

0 个答案:

没有答案