2 Funktionen für die 2 Bedeutungen von expr()☑ coole neue Funktion
☑ könnte vielen Benutzern helfen! ( „Niemand“ verwendet die Ausdrucksbehandlung? – vielleicht … warum?)
☑ entfernt etwas, das sich wie ein „Bug“ anfühlt
☐ schön zu haben
☐ niemand braucht es
#myTop10_2025
Was hat Sie zu dieser Wunschliste inspiriert?
In JSL wird Ausdruck() für zwei Zwecke verwendet:
- „es ist hier()“ innerhalb von Eval-Ausdruck ()
- Ich schütze dich() - um den Inhalt vor der Auswertung zu schützen
Leider ist Eval-Ausdruck() mit dem ersten Ausdruck() zufrieden und wertet ihn aus.
Dies schränkt die Flexibilität ein, mit der Benutzer verschachtelte Ausdrücke schreiben können – siehe:
Welche Verbesserung würden Sie gerne sehen?
Fügen Sie JMP zwei neue Funktionen für die zwei Bedeutungen von Expr() hinzu:
- "it is here() *) " innerhalb von Eval-Ausdruck ()
- Ich schütze dich() *) - um den Inhalt vor der Auswertung zu schützen
*) Bitte nutzen Sie die Kommentare, um optimierte Funktionsnamen vorzuschlagen?
- so kurz wie möglich
- so "aussagend" wie möglich [Name Expr() ist der ideale Name für Name Expr() - für Deutschsprachige ...]
Zusammen mit dem [legacy] Ausdruck() sollten sie es dem Benutzer ermöglichen, Code in JSL viel einfacher zu schreiben.
z.B
Eval Expr ( schützen (.... Ausdruck (auszuwertender Ausdruck) ...) ...)
im Sinne von
Eval Expr ( schützen ( .... es ist hier (Ausdruck zum Auswerten) ...) ...)
Warum ist diese Idee wichtig?
Die doppelte Verwendung von Ausdruck() ist schädlich und macht den Code fragil und kompliziert.
Das Problem lässt sich beheben, indem für die beiden Bedeutungen unterschiedliche Namen verwendet werden.
weitere Wünsche von 
Automatisierung und SkriptingBetreff: 2 Funktionen für die 2 Bedeutungen von expr() - Status geändert in: BestätigtVielen Dank für das Absenden dieser Anfrage!
Betreff: 2 Funktionen für die 2 Bedeutungen von expr()@EvanMcCorkle
Betreff: 2 Funktionen für die 2 Bedeutungen von expr()Ich bin mir noch unsicher, wie ich Expr und Expr² aufrufen soll – und ob Eval Expr() ebenfalls einen Double-Wert benötigt, um ihn an den Double-Wert von Expr² anzupassen.
Eval(Eval Expr( Quote( Do Something With( This(my_expr) ) )))
Eval(Eval Expr( Protect( Do Something With( Inject(my_expr) ) )))
Eval(Eat Honeypot( Protect( Do Something With( Honeypot(my_expr) ) )))
Betreff: 2 Funktionen für die 2 Bedeutungen von expr()Eval(Eval XXX( Protect( Do Something With( XXX(my_expr) ) )))
Eval(Eval That( Protect( Do Something With( That(my_expr) ) )))
Das() wäre perfekt, oder? - aber es wird bereits im Kontext von Klassen verwendet.
Betreff: 2 Funktionen für die 2 Bedeutungen von expr()Eval(Eval Name( Protect( Do Something With( Name(my_expr) ) )))
(c) @drewfoglia
2-facher Gewinn:
-> Dieser Ansatz könnte auch das Problem mit Name() beheben!
Betreff: 2 Funktionen für die 2 Bedeutungen von expr()Um den Vorteil zu erkennen:
Um den "Offset" in dieser Funktion durch einen vordefinierten Wert zu ersetzen:
f= function({y},
Expr(a + b);
Expr(y + offset))
Mit dem neuen Ansatz kann man schreiben:
Expr( y + That( offset ) ) ) ) )offset=5;<BR />Eval(
Eval That( f = Function( {y},<BR /><CODE class="language-jsl"> Expr(a + b);<BR />
Mit dem aktuellen Ansatz muss man kreative Konstrukte wie das untenstehende entwickeln – oder andere Tricks anwenden:
Expr(Eval Expr( y + Expr( offset ) ) ) )) )Eval(
Eval Expr( f = Function( {},<BR /><CODE class="language-jsl"> Expr(Expr(a + b);<BR />