Execution of a String

Azylaminaz

Vox Populi
Reaction score
91
Is it possible to execute a string as if it were just another line of code?
For example execute the string "call CreateUnit(Player(0), 'hpea', 0, 0, 0)" or perhaps substitution of a variable:
JASS:
set <my string> = 12


IE, in VBS, you can do Eval(<string>)
 

Sgqvur

FullOfUltimateTruthsAndEt ernalPrinciples, i.e shi
Reaction score
62
Nope.

If it was possible then I think the WE would've become obsolete
compared to IngameWE.

>set <my string> = 12
That is probably possible with a preprocessor(for strings known at compile time).
 

Weep

Godspeed to the sound of the pounding
Reaction score
400
For example execute the string "call CreateUnit(Player(0), 'hpea', 0, 0, 0)"
I suppose, in theory, you could create a JASS parser out of JASS, but it would be a monumental amount of work...

or perhaps substitution of a variable:
JASS:
set &lt;my string&gt; = 12
Create a function for every possible string to save the value to that string, and execute them using [ljass]ExecuteFunc(chat string)[/ljass]...but beware, it will crash if you mistype... :thdown:

Alternately, abandon variables for hashtable entries set using StringHash.
 

DioD

New Member
Reaction score
57
its possible to construct variable code with condition arrays, sadly code array is not allowed, but its possible to store code variables.

JASS:

set codechunk[66] = Condition(function ABC)
set codehandler[66] = CreateTrigger()
call TriggerAddCondition(codehandler[66],codechunk[66])

+

call EvaluateTrigger(codehandler[66])


this will drain a lot of memory and will be slow, but still possible.
 

uberfoop

~=Admiral Stukov=~
Reaction score
177
Is it possible to execute a string as if it were just another line of code?
Nope. It's entirely possible to build an interpreter in vJass, but it's so hilariously stupid that even when I built half of one just for kicks I never bothered finishing it.

I actually did make a system once that was able to read a string as an infix-notated mathematical statement and return its real value, accounting for parenthises and assumed multiplication and order of operations, though. But even that's a gigantic pain.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top