Betreff: Inhalt von Variable/Ausdruck statt Variablenname in Neues Skript einfügenJMP hat sich aus Freundlichkeit schon vor langer Zeit dafür entschieden, dass der übliche Fall eines expliziten Skripts hinzugefügt wird. Das macht den ungewöhnlichen Fall, ein Skript in einer Variablen, etwas schwieriger.
dt = New Table("test dt");
anExpr = Expr(
Show("Hello world.")
);
// <<NEWSCRIPT assumes="" you=""></NEWSCRIPT>
Betreff: Inhalt von Variable/Ausdruck statt Variablenname in Neues Skript einfügenNun, nachdem ich ein paar weitere Kombinationen ausprobiert hatte, fand ich einen Weg, der zu funktionieren schien.Allerdings habe ich keine Ahnung wie und warum.
dt = New Table("test dt");
anExpr = Expr(
Show("Hello world.")
);
Eval(Eval Expr(
dt << New Script("hello world", Expr(Name Expr(anExpr)))
));
Show(dt << Get Property("hello world"));*Gutschrift an diese Antwort dafür, dass du mir nahe kommst.
Wenn sich jemand damit auskennt, würde mich das interessieren.
Betreff: Inhalt von Variable/Ausdruck statt Variablenname in Neues Skript einfügenEs gibt natürlich ein paar Möglichkeiten, dies zu tun, hier sind zwei:
Names Default To Here(1);
dt = new table();
//one way
scriptExpr = expr ( print( "hi there" ) );
eval ( substitute (
expr ( dt << new script ("greeting 1", _x_ ) ),
expr( _x_ ),
nameexpr( scriptExpr )
) );
// another way
scriptQuote = jslquote ( print ( "hi there" ) );
eval( evalexpr(
dt << new script ("greeting 2", expr( parse( scriptQuote ) ) )
) ) ;
Beifall,
Brady
Betreff: Inhalt von Variable/Ausdruck statt Variablenname in Neues Skript einfügenHier ist ein guter Ausgangspunkt Funktionen zur Behandlung von Ausdrücken: Teil I - Enträtseln von Expr(), NameExpr(), Eval(), ... Rätsel auf JMP-Ausdrücken
Hier sind auch einige Infos Skriptleitfaden > Programmiermethoden > Erweiterte Ausdrücke
Das JSL-Kochbuch enthält möglicherweise auch einige Themen, die die Behandlung von Ausdrücken beinhalten Führen Sie eine Plattform aus, ohne die Anzahl oder Namen der Spalten zu kennen und dieser enthält einen guten Hinweis für den Erfolg: Umgang mit Ausdrücken ist ein schwieriges Thema. Je mehr Beispiele Sie sehen, desto mehr sollten Sie verstehen.
Fügen Sie den Inhalt der Variablen/des Ausdrucks anstelle des Variablennamens in das neue Skript einEs wäre praktisch, einer Variablen einen Ausdruck zuweisen und diese Variable dann verwenden zu können, um den Ausdruck mithilfe von „Neues Skript“ in ein Datentabellenskript einzufügen.
dt = New Table("test dt");
anExpr = Expr(
Show("Hello world.")
);
dt << New Script("hello world", anExpr);
Show(dt << Get Property("hello world"));Wenn ich das jedoch versuche, besteht der Inhalt des Skripts nur aus dem Variablennamen.Es funktioniert, wenn Sie es in diesem Zustand ausführen. Wenn Sie jedoch die Datentabelle speichern und später erneut laden, wird der Inhalt der Variablen angezeigt anExpr gehen verloren und das Tabellenskript funktioniert nicht.
Gibt es eine Möglichkeit, das einzufügen? Inhalt der Variablen in ein Tabellenskript statt des Variablennamens?Vielleicht geht das mit Substitute, Eval Expr usw., aber ich habe etliche Kombinationen solcher Methoden ohne Erfolg ausprobiert.
Automatisierung und SkripterstellungInhaltsorganisation