static O loadVariableDefinition(S varName) {
ret loadVariableDefinition(getProgramID(), varName);
}
// currently works with string lists ("= litlist(...)"),
// strings, longs and ints.
static O loadVariableDefinition(S progIDOrSrc, S varName) {
if (isSnippetID(progIDOrSrc))
progIDOrSrc = loadSnippet(progIDOrSrc);
ret loadVariableDefinition(progIDOrSrc, javaTok(progIDOrSrc), varName);
}
static O loadVariableDefinition(S src, L<S> tok, S varName) {
int i = findCodeTokens(tok, varName, "=");
if (i < 0) ret null;
i += 4;
S t = tok.get(i);
if (isQuoted(t))
ret unquote(t);
if (isLongConstant(t))
ret parseLong(t);
if (isInteger(t))
ret parseInt(t);
if (eqOneOf(t, "litlist", "ll") && eq(get(tok, i+2), "(")) {
int opening = i+2;
int closing = findEndOfBracketPart(tok, opening)-1;
new L l;
for (i = opening+2; i < closing; i += 4)
l.add(unquote(tok.get(i)));
ret l;
}
throw fail("Unknown variable type or no definition in source: " + shorten(src, 100) + "/" + varName);
}
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1001996 |
| Snippet name: | loadVariableDefinition - executes a variable definition from up-to-date source |
| Eternal ID of this version: | #1001996/9 |
| Text MD5: | ade8df98a89ef7c7cc9662ff41e3f373 |
| Author: | stefan |
| Category: | |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2018-12-25 16:11:59 |
| Source code size: | 1110 bytes / 39 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 1393 / 2450 |
| Version history: | 8 change(s) |
| Referenced in: | #1002427 - Accellerating 629 (SPIKE) #1006654 - Standard functions list 2 (LIVE, continuation of #761) #1008348 - findMultiLineVarDefinition #1008590 - loadStringVar - load string constant from up-to-date source #3000382 - Answer for ferdie (>> t = 1, f = 0) #3000383 - Answer for funkoverflow (>> t=1, f=0 okay) |