1

我正在尝试将以下代码作为 sahi 脚本运行:

_include("initialScript.sah");
_include("secondScript.sah");

function currentTime(){
    var $current = new Date();
    var $hours = $current.getHours();
    var $minutes = $current.getMinutes();

    if ($minutes < 10){
        $minutes = "0" + minutes;
    }

    if($hours > 11){
        _log("It is " + $hours + ":" + $minutes + " PM");
    } 
    else {
        _log("It is " + $hours + ":" + $minutes + " AM");
    }

    if($hours >= 8 || $hours =< 20) {
        _include("aScript.sah");
        _include("anotherScript.sah");
        ...
    }
    else {
        //do nothing and continue below
    } 
}

_include("yetMoreScripts.sah");
...

简单地说,我有一个各种脚本的块,然后检查当前时间。如果不在上午 8 点到晚上 8 点之间,则跳过包含的脚本块并执行下面的其他脚本。_logs 告诉我,获得时间似乎按预期工作。然而,每当我尝试按原样运行脚本时,我都会立即失败并出现完全不相关的语法错误(例如在 _include 更远的地方,根本没有错误)。将 _includes 从 if 语句中取出似乎会使错误停止。据我所知,这应该有效,但只是没有。有没有人有类似的经验,可以给我提示我在哪里犯了错误?

4

1 回答 1

1

据我所知,这应该有效。一个简单的测试:

测试1.sah:

_log("ok");

测试2.sah:

if (true) {
  _include("test1.sah");
}

当我从 Sahi 控制器运行它时,我得到一个“ok”记录。也许重新创建这个测试并检查你是否得到相同的结果。也许是“;” 包含后丢失?您是否传递要包含的动态值?像 _include($path)?

于 2014-03-28T12:01:31.103 回答