2 funzioni per i 2 significati di expr()☑ nuova fantastica funzionalità
☑ potrebbe aiutare molti utenti! ( "nessuno" utilizza la gestione delle espressioni? - forse... perché?)
☑ rimuove qualcosa che sembra un "insetto"
☐ bello da avere
☐ nessuno ne ha bisogno
#myTop10_2025
Cosa ti ha ispirato a richiedere questa lista dei desideri?
In JSL, Espr() viene utilizzato per 2 scopi:
- "è qui()" all'interno di Valutazione Expr()
- Ti proteggo() - per proteggere il contenuto dalla valutazione
Sfortunatamente, Valutazione Expr() è soddisfatta del primo Espr() e lo valuta.
Ciò limita la flessibilità con cui gli utenti possono scrivere espressioni annidate. Vedere:
Quale miglioramento vorresti vedere?
Aggiungi 2 nuove funzioni a JMP per i 2 significati di Espr():
- "è qui() *) " all'interno di Valutazione Expr()
- Ti proteggo() *) - per proteggere il contenuto dalla valutazione
*) si prega di utilizzare i commenti per suggerire nomi di funzioni ottimizzati?
- il più breve possibile
- il più "rivelativo" possibile [Name Expr() è il nome ideale per Name Expr() - per chi parla tedesco ...]
Insieme a Espr() [legacy], dovrebbero consentire all'utente di scrivere codice in JSL in modo molto più semplice.
per esempio
Valutazione Espr ( proteggere ( .... Espr (espressione da valutare) ...) ...)
nel senso di
Valutazione Espr(proteggere( .... è qui(expression to evaluate) ...) ...)
Perché questa idea è importante?
il duplice utilizzo di Espr() è dannoso e rende il codice fragile e complicato.
Il problema si risolverà utilizzando nomi separati per i due significati.
altri desideri da 
Automazione e scriptingRe: 2 funzioni per i 2 significati di expr() - Stato modificato in: RiconosciutoGrazie per aver inviato questa richiesta!
Re: 2 funzioni per i 2 significati di expr()@EvanMcCorkle
Re: 2 funzioni per i 2 significati di expr()Non sono ancora sicuro di come chiamare Expr ed Expr² e se anche Eval Expr() ha bisogno di un double... per adattarsi al double di Expr².
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) ) )))
Re: 2 funzioni per i 2 significati di expr()Eval(Eval XXX( Protect( Do Something With( XXX(my_expr) ) )))
Eval(Eval That( Protect( Do Something With( That(my_expr) ) )))
Questo() sarebbe perfetto, giusto? - ma è già utilizzato nel contesto delle classi.
Re: 2 funzioni per i 2 significati di expr()Eval(Eval Name( Protect( Do Something With( Name(my_expr) ) )))
(c) @drewfoglia
2x vittoria:
-> questo approccio potrebbe risolvere anche il problema con Name() !
Oggetto: 2 funzioni per i 2 significati di expr()Per vedere i benefici:
Per sostituire l'"offset" in questa funzione con un valore predefinito:
f= function({y},
Expr(a + b);
Expr(y + offset))
Con il nuovo approccio si può scrivere:
Expr( y + That( offset ) ) ) ) )offset=5;<BR />Eval(
Eval That( f = Function( {y},<BR /><CODE class="language-jsl"> Expr(a + b);<BR />
Con l'approccio attuale, bisogna generare costrutti creativi come quello riportato di seguito, oppure ricorrere ad altri stratagemmi:
Expr(Eval Expr( y + Expr( offset ) ) ) )) )Eval(
Eval Expr( f = Function( {},<BR /><CODE class="language-jsl"> Expr(Expr(a + b);<BR />