2014-03-27 5 views
1

가 나는 sahi 스크립트로 다음 코드를 실행하기 위해 노력하고있어 경우에 _include는 :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 방법으로 오류가 전혀 발생하지 않음)가 발생합니다. if 문에서 _include를 가져 오는 것은 오류를 중지시키는 것처럼 보입니다. 내가 알기로는 이것이 효과가 있지만 그렇지 않다. 아무도 비슷한 경험을 해 본적이 있습니까? 내가 실수 한 부분에 대한 힌트를 줄 수 있습니까?

답변

1

내가 알 수있는 한, 이것은 잘 작동합니다. 간단한 테스트 :

test1.sah :

_log("ok"); 

test2.sah : 나는 Sahi 컨트롤러에서이 프로그램을 실행할 때

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

, 내가 "확인"이 기록을 얻을. 이 테스트를 다시 작성하여 동일한 결과가 나오는지 확인하십시오. 아마 ";" 당신의 포함 후에 누락 되었습니까? 포함 할 동적 값을 전달합니까? _include ($ 경로) 같은가?

+0

주 스크립트 대신 함수 문서에 함수를 넣고 현재 시간을 기준으로 부울 값을 출력하게했습니다. 메인 스크립트에서 필자는 그 함수를 호출하여 다른 if 문에서 boolean을 검사하고 관련 _includes를 실행하거나 건너 뜁니다. 지금은 효과가있는 것으로 보입니다. 당신의 대답이 엄격하게 '옳은'것은 아니었지만, 당신은 나에게 Syntax를 다시 한번 확인시켜 주었다. 그러므로 나는 이것을 정답으로 표시 할 것입니다. 고맙습니다. :) 편집 : 누락 된 세미콜론이 없습니다. 나는 그저 웬일인지 그들을 복사하지 않았다. – hiyosilver