Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   Future Improvements (https://forums.graalonline.com/forums/forumdisplay.php?f=10)
-   -   Regular Expressions (https://forums.graalonline.com/forums/showthread.php?t=134257341)

coreys 12-18-2009 08:25 AM

Regular Expressions
 
Every once in awhile I run across a situation where I wish I could use regular expressions in GS2. Since this is no trivial task to implement myself, not to mention it would most likely be slow if not done at a language level, it would be really nice if regular expressions were added into GS2.

Programmer 12-18-2009 01:19 PM

Quote:

Originally Posted by coreys (Post 1545150)
Every once in awhile I run across a situation where I wish I could use regular expressions in GS2. Since this is no trivial task to implement myself, not to mention it would most likely be slow if not done at a language level, it would be really nice if regular expressions were added into GS2.

I completely agree. I have also come across several situations where Regex would make my life so much easier. Seeing as how several libraries offer this in C++, it should not be so difficult to implement in GScript at all.

Immolate 12-18-2009 01:21 PM

Yeah, I support this.

coreys 12-23-2009 09:02 PM

Bump!
There's a couple things I hope to use regex for that would make my life so much better.
Better living through regular expressions! :D

fowlplay4 12-23-2009 09:36 PM

Could you show some theory usage of how it would work? I haven't touched regex before.

Crow 12-23-2009 09:44 PM

Lua syntax, it's from one of my WoW addons:
PHP Code:

msg gsub(msg"^|Hchannel:(%S+)|h%[([%d%.%s]*)([^%]]+)%]|h ""|Hchannel:%1|h" .. channelFormat .. "|h "); 

Basically, this replaces the display format of the channel escape sequence (WoW stuff) at the start of the string msg (if any escape sequence exists) with a predefined new format stored in channelFormat.
WoW channel escape sequences work like this:
PHP Code:

|Hchannel:CHANNEL_HERE|hCHANNEL_DISPLAY_NAME_HERE|

If you want to know some more details, either ask, or check out patterns on the Lua website. Also, as far as I know, Lua implements regular expressions a tad differently compared to other languages, so you might also want to check out the PHP documentation.

WhiteDragon 12-23-2009 09:44 PM

I've never needed regex for coding anything in Graal. Not to mention they can lead to some seriously inefficient code if you don't know what you are doing (e.g., when checking against a non-regular language, unlimited backreferences are an NP-complete problem).

DustyPorViva 12-23-2009 09:50 PM

I've ran into a couple situations where I really wish I had it. I think getstringkeys() is probably the most common.

coreys 12-23-2009 09:54 PM

I'm familiar with regular expressions as they're used in Python. They're a tad bit complicated to learn, but very useful for searching for patterns.

And inefficient code is always an issue, no matter what you do, so it's not really a reason to not support this. I personally could find good use for regex.

WhiteDragon 12-23-2009 10:12 PM

Quote:

Originally Posted by coreys (Post 1546611)
And inefficient code is always an issue, no matter what you do, so it's not really a reason to not support this. I personally could find good use for regex.

I'm just saying that regex is particularly complex and therefore more prone to inefficiencies.

coreys 12-23-2009 10:44 PM

Quote:

Originally Posted by WhiteDragon (Post 1546622)
I'm just saying that regex is particularly complex and therefore more prone to inefficiencies.

Yeah, but user error is user error, no reason not to have it :)

Loriel 12-24-2009 12:12 AM

Pft, who needs regexps when you could instead build some awesome parser combinator system.

WhiteDragon 12-24-2009 12:28 AM

Quote:

Originally Posted by Loriel (Post 1546641)
Pft, who needs regexps when you could instead build some awesome parser combinator system.

Whoever implements parsec first wins a cookie!

cbk1994 01-15-2010 11:07 PM

Bumping this because I just ran into a place where this would be perfect.

Loriel 01-16-2010 12:00 AM

Quote:

Originally Posted by Loriel (Post 1546641)
Pft, who needs regexps when you could instead build some awesome parser combinator system.

Bumping this too!!

coreys 01-16-2010 11:19 PM

Pl0x pl0x pl0x

coreys 01-22-2010 10:26 AM

bump

further reasoning:
http://imgs.xkcd.com/comics/regular_expressions.png

We can become graal superheros if we get regex.

fowlplay4 01-22-2010 03:52 PM

thats so lame.

Imperialistic 01-22-2010 04:43 PM

ya, im going to pretend that i never saw that.

Liberated 01-22-2010 04:47 PM

That's so funny.

Loriel 01-22-2010 07:43 PM

Regular expressions are goddamn retarded, here is the perl regexp for matching an email address

NPC Code:

(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:
\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(
?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[
\t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\
r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
\t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)
?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t]
)*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[
\t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*
)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)
*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+
|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:
\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?
:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?
[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\]
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|
\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>
@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"
(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[
\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-
\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(
?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;
:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([
^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\"
.\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\
]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\
[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\
r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]
|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0
00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\
.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,
;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?
:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]
]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(
?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t
])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|
\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\
]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)
?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>
@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[
\t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,
;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:
\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[
"()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])
*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])
+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\
.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(
?:\r\n)?[ \t])*))*)?;\s*)



i am not really sure this is what we need to deliver a better gameplay experience in graal

WhiteDragon 01-22-2010 07:58 PM

If this gets implemented I better get my enhancements on anonymous functions.

DustyPorViva 01-22-2010 08:35 PM

Quote:

Originally Posted by Loriel (Post 1551751)
Regular expressions are goddamn retarded, here is the perl regexp for matching an email address

...

i am not really sure this is what we need to deliver a better gameplay experience in graal

That is such an extreme example and you know it :P In fact, I've never seen a regex expression that long before.

coreys 01-22-2010 09:31 PM

Quote:

Originally Posted by DustyPorViva (Post 1551757)
That is such an extreme example and you know it :P In fact, I've never seen a regex expression that long before.

Neither have I.

Also, what? I've seen much shorter regular expressions to match an email address, you must be mistaken.

Edit:
I just looked it up, you are way off. The regular expression to find an email address (may vary slightly between implementations) is:
NPC Code:

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b



In this instance using grep

WhiteDragon 01-22-2010 09:40 PM

Quote:

Originally Posted by coreys (Post 1551763)
Neither have I.

Also, what? I've seen much shorter regular expressions to match an email address, you must be mistaken.

Edit:
I just looked it up, you are way off. The regular expression to find an email address (may vary slightly between implementations) is:
NPC Code:

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b



In this instance using grep

That technically doesn't match the RFC 2822 specifications for an e-mail address.


Anyways, like I said, 90% of people who use regex don't actually understand what the hell it does or how it works, even if they understand the syntax.

This results in a lot of copying-and-pasting into your codebase from other places, and therefore a lot of potential edge-cases where your script could grind to a halt.

xXziroXx 01-22-2010 09:44 PM

I don't see how we need regex at all.

coreys 01-22-2010 09:44 PM

Who cares? Just because some people don't understand how to use it doesn't make it any less applicable for those that do, especially when it can be extremely useful. There's a reason many languages have regular expressions in their standard library (such as Perl, Python, etc), and most that don't have extremely popular libraries that provide the functionality, like C++'s Boost.Regex.

Loriel 01-22-2010 10:09 PM

Quote:

Originally Posted by coreys (Post 1551763)
Neither have I.

Also, what? I've seen much shorter regular expressions to match an email address, you must be mistaken.

Edit:
I just looked it up, you are way off. The regular expression to find an email address (may vary slightly between implementations) is:
NPC Code:

\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b



In this instance using grep

that does not even match the .museum tld

Skyld 01-22-2010 10:30 PM

No. Regular expressions are a fantastic way to make code harder to edit and understand (a lot of scripters manage to make things terribly overcomplicated as it is without them!), especially for newer people who will take one look at a regular expression and not know what it is, little less what to do with it. Let's focus on functions that make gscript easier, perhaps.

WhiteDragon 01-22-2010 10:38 PM

Quote:

Originally Posted by coreys (Post 1551767)
Who cares?

I do.

I don't want any more codebases that I work on to get splattered with crazy stuff that no one understands except the people who need to come in and waste their time fixing it later.

Quote:

"omg why doesn't this code run faster"
"That is because the GS2 implementation of regex uses the backtracking algorithm which, while allowing for more expressive patterns, is not as efficient as other algorithms that construct a NFA to a DFA."
"wat??????? can u fix it"
"!@#$"

I seriously have not ever had a use for regex in my whole time scripting GS2 and I don't want any of these potential situations, so I'd prefer for it to not be implemented.

coreys 01-22-2010 11:14 PM

Quote:

Originally Posted by Skyld (Post 1551773)
No. Regular expressions are a fantastic way to make code harder to edit and understand (a lot of scripters manage to make things terribly overcomplicated as it is without them!), especially for newer people who will take one look at a regular expression and not know what it is, little less what to do with it. Let's focus on functions that make gscript easier, perhaps.

God forbid we have a useful feature that not everybody can use. God forbid people who don't know how to use something...oh, I don't know, not use it.

I have at least one useful feature in mind where regular expressions would be invaluable, and I'm not the only one. So basically, we can **** off because there are a lot of idiots who want to script on Graal? Sounds reasonable.

cbk1994 01-22-2010 11:34 PM

This is such a silly debate. People will have trouble with any feature they don't understand, it's no reason to not add something. From what others have said, it doesn't sound like it would be hard to add, either.

Inverness 01-22-2010 11:36 PM

Regex is in a whole other class of difficulty, imho. I've considered learning regex before but I'm intimidated and haven't encountered a need to learn it yet. :(

DustyPorViva 01-23-2010 12:34 AM

The only time I think I've ever needed regex was with getstringkeys(). Those instances are few and far between though, and I don't even remember them. Would I have loved to be able to use regex in the few times I actually needed it? Hell yes. Do I really think it's needed? Not really. It's just not something I see being used too much to justify the effort of adding it. Now that can be said about a lot of things, but I feel this is one of those additions that everyone gets all giddy over and then they get it and don't know what the **** they actually want to do with it, and forgets about it. However, if there were any regex added, a very simple form of it would suffice. At least, if not regex then a rip-off wildcard system that format uses(%s, %d, and so on). Anything more complicated would definitely not be used in my opinion.

fowlplay4 01-23-2010 01:11 AM

Quote:

Originally Posted by coreys (Post 1551784)
God forbid we have a useful feature that not everybody can use. God forbid people who don't know how to use something...oh, I don't know, not use it.

I have at least one useful feature in mind where regular expressions would be invaluable, and I'm not the only one. So basically, we can **** off because there are a lot of idiots who want to script on Graal? Sounds reasonable.

GScript2 is a game scripting language though, and it's not really needed at all in game server development.

The only way I can really see this getting implemented is if Stefan finds that he needs it one day, until then it'll be low on priorities as far as adding features/functions to GScript2 goes.

coreys 01-23-2010 03:25 AM

Quote:

Originally Posted by DustyPorViva (Post 1551797)
However, if there were any regex added, a very simple form of it would suffice. At least, if not regex then a rip-off wildcard system that format uses(%s, %d, and so on). Anything more complicated would definitely not be used in my opinion.

That alone would make me an extremely happy scripter.

Loriel 01-23-2010 04:00 AM

Even *** scripting has a regexp lookalike and people use it literally all the time!!

coreys 01-23-2010 04:33 AM

Who cares about WoW, it sucks.

Anyways, I'm for what Dusty suggested. I don't see how that would be unreasonable.

Loriel 01-23-2010 04:41 AM

Quote:

Originally Posted by coreys (Post 1551842)
Who cares about ***,

Literally millions of people who do not care about Graal?

Mark Sir Link 01-23-2010 05:46 AM

Quote:

Originally Posted by coreys (Post 1551842)
Who cares about WoW, it sucks.

Anyways, I'm for what Dusty suggested. I don't see how that would be unreasonable.

if WoW sucks, what does Graal do?


All times are GMT +2. The time now is 07:20 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.