2016-10-17 3 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

申し訳ありませんが、私は理解していませんでした場合が、複雑なスクリプトの理由は、単なるテキストファイルの行に日付の形式があるかどうかを確認するにいただきましたか!?私は申し訳ありません理解していませんでした場合、あなたはループの後IF条件を行うことができたときに

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

ここでも問題になっているそのループの行を格納するために読んで変数%を設定する理由はない

+0

できるだけよく理解しました。私はIRCコーディングについてはまだ非常に緑色です。私は、彼らがどのように動作するかを理解するために、いくつかの異なることを試みていました当時、私はホワイトスペースがとてもかわいかった(ブラケットエラーは別として) – MrJerkBird