2016-10-17 13 views
0

텍스트 파일의 줄과 오늘의 날짜를 단순히 비교하려고합니다. 도움이 필요한 라인은 항상 내 코드를 평가하는 것처럼 보입니다. 예제가 있습니까?IRC 문자열 비교는 항상 true입니다.

내 코드 :

set %lines $lines(test.txt) 
set %date $adate 

while (%i <= %lines) 
    set %read $read(test.txt, n, %i) 

    if(%date isin %read){ ; <-- Line in question 
    do things 
    } 
} 

답변

0

당신은 몇 가지 오류가 있습니다.

while 루프에 대괄호가 없습니다. {)

while (%i <= %lines) { 

당신은 (사이의 공간이 있어야합니다 (그리고 마지막에 폐쇄)}과 라인

if<space>(
)<space> { 

if (%date isin %read) { 

의 나머지 나는 다른 버전을 제안의 자유를했다.

코드 :

var %filename = test.txt 
    var %lines = $lines(%filename) 
    var %currentDate = $adate 
    var %i = 1 
    while (%i <= %lines) { 
    var %line = $read(%filename, n, %i) 
    if (%currentDate isin %line) { 
     # do things 

     # Should uncomment the break in case you want to stop after a match 
     #break 
    } 
    inc %i 
    } 
+0

var % date에 무엇이 있습니까? –

+0

@Sirius_Black, 덧글 주셔서 감사합니다, 사용하지 않는 에코를 고정 –

+0

나 같은 초보자 주셔서 감사합니다. 조금씩 배우기. – MrJerkBird

0

미안 해요 이해 didnt는 경우, 그러나 복잡한 스크립트의 이유는 단지 텍스트 파일의 라인에서 날짜 형식이 있는지 확인하기 위해 뭐죠? 미안 이해 didnt하는 경우, 당신은 루프 후 IF 조건을 수행 할 수 있습니다 때

var %x = 1 
while (%x <= $lines(test.txt)) { 
if ($adate isin $read(test.txt,n,%x)) { 
;do things 
} 
inc %x 
} 

다시 문제의 그 루프의 라인을 저장하는 읽어 변수 %를 설정하기위한 이유가 없다

+0

최대한 잘 이해했습니다. 나는 IRC 코딩에 관해서는 여전히 아주 초록색이다. 나는 그들이 작동하는 방식을 이해하기 위해 몇 가지 다른 일을 시도하고있었습니다. 당시 화이트 스페이스는 너무 까다 롭다는 것을 알지 못했습니다 (괄호 오류는 제쳐두고) – MrJerkBird