IRC字符串比较始终为真

时间:2016-10-17 12:20:48

标签: if-statement text-files string-comparison mirc

我试图简单地将文本文件中的一行与今天的日期进行比较。 我想要帮助的行似乎总是对我的代码进行评估。 有什么例子吗?

我的代码:

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
  }
}

2 个答案:

答案 0 :(得分: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
  }

答案 1 :(得分:0)

如果我不理解,我很抱歉,但是为了检查文本文件行中是否有日期格式,复杂脚本的原因是什么?

当你可以在循环之后执行IF条件时,没有理由设置变量%read来存储有问题的循环行:

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