Bug Stomp
Upgrades and changes sometimes have unpredictable results, so post your bugs and glitches in here and I'll get out my trusty wrench and get to fixin'!
Posts 6,052 - 6,063 of 8,681
Also, the "*" and "+" quantificators seem to behave both as "*".
Uh, no.* is a standard soft wildcard, and ([s]+) in a regex = any number of ss.
I think a lot of the problem here is that the regex system we're using is not a fully regex environment, it's a subset. The AIEngine processes all keyphrases using*/(*) wildcards and local plugins as regexes, even without (re) - Basically it's in regex mode the whole time. When we specify "(re)" we get a sort of shell access to deeper regex functions, but it's not the whole regex environment - some functions are reserved by the AIEngine (including . I imagine.)
I'm used to using it to make a specific string optional, as in (his|here)? Meaning zero or more occurances of that group.
Well,(his|here|) would do that, wouldn't it? "his", "here" or nothing...
the "key count" problem
Yeah, it can take a bit of getting used to - the answer is to have hierarchies of keyphrases:
(verb)
you (verb)
do you (verb)
though you can usually concatenate them:
(verb), you (verb), do you (verb)
just remember not to have any|) or * before keys you need to access.
Posts 6,052 - 6,063 of 8,681
herode
19 years ago
19 years ago
I tried using "?", with no success. Also, the "*" and "+" quantificators seem to behave both as "*".
Obviously, there is a syntactic problem about "." and "?". These quantificators are also punctuation symbols. In a true regex, you have to escape them in order to gain access to the punctuation symbol. Unescaped, they are read as quantificators. But in our keyphrases, a period is a period and so on. And you cannot enter punctuations.
Obviously, there is a syntactic problem about "." and "?". These quantificators are also punctuation symbols. In a true regex, you have to escape them in order to gain access to the punctuation symbol. Unescaped, they are read as quantificators. But in our keyphrases, a period is a period and so on. And you cannot enter punctuations.
Calandale
19 years ago
19 years ago
I'm used to using it to make a specific string optional, as in (his|her)? Meaning zero or more occurances of that group.
psimagus
19 years ago
19 years ago
Uh, no.
I think a lot of the problem here is that the regex system we're using is not a fully regex environment, it's a subset. The AIEngine processes all keyphrases using
Calandale
19 years ago
19 years ago
I really wish that the link to the regex system was working. I suppose no one has an electronic copy of it lying about?
psimagus
19 years ago
19 years ago
Well,
Calandale
19 years ago
19 years ago
Sure, I'm just used to thinking differently, I guess. I had just thought of that, and came to post about it.
MickMcA
19 years ago
19 years ago
>>Well, (his|her|) would do that, wouldn't it?
>>"his", "here" or nothing...
However, in both cases you run into the "key count" problem. I've burned repeatedly by doing things like
(do|) (you|) (verb)
only to discover that the Key# of (verb) is based on the number occupied keys, NOT its position in the KP. For example, "dance" is key3 of "do you dance" but key2 of "you dance."
M
>>"his", "here" or nothing...
However, in both cases you run into the "key count" problem. I've burned repeatedly by doing things like
(do|) (you|) (verb)
only to discover that the Key# of (verb) is based on the number occupied keys, NOT its position in the KP. For example, "dance" is key3 of "do you dance" but key2 of "you dance."
M
psimagus
19 years ago
19 years ago
Yeah, it can take a bit of getting used to - the answer is to have hierarchies of keyphrases:
you (verb)
do you (verb)
though you can usually concatenate them:
just remember not to have any
Calandale
19 years ago
19 years ago
Does the comma only work that way in regex, or is it a general or operator for the entire engine?
psimagus
19 years ago
19 years ago
unless you specifically escape it, it works that way in all keyphrases (because whether you specify them (re) or not, the AIEngine is working in regex anyway.)
Calandale
19 years ago
19 years ago
I didn't see that in the book of AI. Probably should be added, as it is a more powerful feature than much of what is in there. Thanks.
MickMcA
19 years ago
19 years ago
I've been back and forth with PSImagus about whether AI Inits should be separated with CRs. I just finished testing with a new bot, and I have good news and bad news. The good news is it works both ways. The bad news is, it doesn't work both ways.
Here's what happened:
I imported 20 inits, each on a separate line. Only the first one appeared in the Settings window, the debugger only showed the first one when I ran it, and two of the lower ones were reported by the debugger as not existing. Pretty conclusive. Then I reimported with the AI Inits all run together, separated by semi-colon and space. They all showed in the Settings and the debugger, and the lower ones worked.
That's all well and good, but the reason I did all this is that I had those same run-together 20 inits in a working bot, and they were not getting read. So I separated them with CRs, and suddenly they were working. In other words, exactly the opposite effect from what happened with the test bot.
I'm reasonably convinced that the server has gone kaflooey, though apparently it will take a few more votes before anything gets done about it. Maybe that explains the weird test results. However, it would be nice to know which way we are supposed to do the inits. How about some votes from people who KNOW their inits are working?
Mick
Here's what happened:
I imported 20 inits, each on a separate line. Only the first one appeared in the Settings window, the debugger only showed the first one when I ran it, and two of the lower ones were reported by the debugger as not existing. Pretty conclusive. Then I reimported with the AI Inits all run together, separated by semi-colon and space. They all showed in the Settings and the debugger, and the lower ones worked.
That's all well and good, but the reason I did all this is that I had those same run-together 20 inits in a working bot, and they were not getting read. So I separated them with CRs, and suddenly they were working. In other words, exactly the opposite effect from what happened with the test bot.
I'm reasonably convinced that the server has gone kaflooey, though apparently it will take a few more votes before anything gets done about it. Maybe that explains the weird test results. However, it would be nice to know which way we are supposed to do the inits. How about some votes from people who KNOW their inits are working?
Mick
» More new posts: Doghead's Cosmic Bar