2.
Quote:
Many times I do not use regex because is far more simple use wildmatch. It's only due the fact that wm uses an if comparison and regex uses a ident. I try to make my code "clean", and using $regex in the if statements don't help this.

- They look equally 'clean' to me. In fact, if anything the identifier method is cleaner with multi-word/complex operands because it is much simpler to see what is being done.
Consider this:
if ($regex(moo oink moo, /o(?=[aeiou])/gi)) { ... }
if (moo oink moo isre /o(?=[aeiou])/gi) { ... }

I don't know about you but I find it very easy to see what the $regex() method is doing whereas the isre operator gets lost in the jumble. In many ways I'd prefer to the isin/iswm operators to be identifiers.

3.
The trouble with having custom operators is that it would probably make parsing if conditions slow/difficult.
For example:
if (moo isprime isin moo) { ... }
Now mIRC has to parse that text and check for the existence of an operator with the name of each word. It's not the same as identifiers or commands because they have syntactic elements that indicate what they are (appearing at the start of a line, prefixed with $ sign). If mIRC only comes up with one match then great, use that operator, but what happens if more than one matching operator appears in the text? Which does mIRC use? Even if you wrote your script with all this stuff in mind and made sure it worked, there's always the possiblity of someone using another script alongside it which 'infects' yours by adding operators that clash with text in your comparisons.

Without quoted strings it's very problematic to have custom operators and, as I pointed out in 2. above, we're probably better off without them anyway.


Spelling mistakes, grammatical errors, and stupid comments are intentional.