Unexpected /var behavior. - 20/11/06 08:29 AM
*edit: mIRC version 6.2
alias /vartest {
var %somevar- [ $+ [ 1 ] ] = 1
echo var: %somevar- [ $+ [ 1 ] ]
}
Output:
var: = 1
Furthermore:
alias /vartest {
var %anothervar = 1
var %somevar- [ $+ [ 1 ] ] = $rand(1,%anothervar)
echo var: %somevar- [ $+ [ 1 ] ]
}
Output:
* Invalid format: $rand (line 3, vartest.mrc)
I know about defining multiple variables with /var (ie: /var %i = 1, %x = 2), but I can't believe this is expected behavior. I only get the error when defining a var with evaluation brackets, however.
After further examination of the problem, I noted that when using evaluation brackets (/var %somevar [ $+ [ 1 ] ]), /var no longer requires "=" to assign data to the var, instead it assigns the = as part of the var's data:
alias /vartest {
var %somevar- [ $+ [ 1 ] ] = $chr(36) $+ rand(1,%anothervar) = hi
echo var: %somevar- [ $+ [ 1 ] ] / var2: %anothervar)
}
Output:
var: = $rand(1 / var2: hi
Bug, intended, what?
alias /vartest {
var %somevar- [ $+ [ 1 ] ] = 1
echo var: %somevar- [ $+ [ 1 ] ]
}
Output:
var: = 1
Furthermore:
alias /vartest {
var %anothervar = 1
var %somevar- [ $+ [ 1 ] ] = $rand(1,%anothervar)
echo var: %somevar- [ $+ [ 1 ] ]
}
Output:
* Invalid format: $rand (line 3, vartest.mrc)
I know about defining multiple variables with /var (ie: /var %i = 1, %x = 2), but I can't believe this is expected behavior. I only get the error when defining a var with evaluation brackets, however.
After further examination of the problem, I noted that when using evaluation brackets (/var %somevar [ $+ [ 1 ] ]), /var no longer requires "=" to assign data to the var, instead it assigns the = as part of the var's data:
alias /vartest {
var %somevar- [ $+ [ 1 ] ] = $chr(36) $+ rand(1,%anothervar) = hi
echo var: %somevar- [ $+ [ 1 ] ] / var2: %anothervar)
}
Output:
var: = $rand(1 / var2: hi
Bug, intended, what?