包含 for 表達式很酷的新功能
可以幫助很多用戶!
刪除一些感覺像是「bug」的東西
☑ 很高興擁有
無人需要它
是什麼激發了這個願望清單請求?
要檢查字串是否是較大字串的一部分 - 並取得確切的位置 - 可以使用contains() 。
要檢查某個項目是否在清單中 - 並取得確切的位置 - 可以使用contains() 。
檢查表達式是否出現在長表達式中
... JMP/JSL 中沒有功能。也沒有取得位置的函數。
這令人驚訝。因為有這個酷
Substitute(Expr(...), Exr(replace), Expr(with))
它需要找出一個表達式是否可以在主表達式中找到以及它在哪裡。
您希望看到什麼改進?
請提供一個 JSL 函數來檢查表達式是否出現在長表達式中 - 並取得位置:
例如,如果它是主表達式第一個參數的第三個參數的 5. 參數,則函數可以傳回 {{1,3,5}}。
如果它在多個位置找到該表達式,它可能會傳回所有不同的匹配項。
如果它找到表達式 - 但無法準確定位它[因為它只是參數的一部分],它可能會傳回 1。
如果表達式遺失,它可能會傳回遺失。
為什麼這個想法很重要?
Contains(Expr(...), Expr(search))將有助於 JSL 腳本編寫。
它與另一個新功能略有相關, :folded_hands:表達式索引:讀寫訪問
其他願望
自動化和腳本編寫回覆:包含表達式似乎有效:
ContainsExpr=Function ({expression, pattern},
tmp = Substitute(Name Expr(expression), Name Expr(pattern), Expr(.));
not(Name Expr(tmp)==Name Expr(expression))
);
myExpression = Expr({a+b/(x-y),3} );
ContainsExpr( Name Expr(myExpression), Expr(X));
ContainsExpr( Name Expr(myExpression), Expr(c));
ContainsExpr( Name Expr(myExpression), Expr(3));回覆:包含表達式或透過Extract Expr :
ContainsExpr=Function ({expression, pattern},
Not(is empty(Extract Expr(expression, pattern)));
);
myExpression = Expr({a+b/(x-y),3} );
ContainsExpr( Name Expr(myExpression), Expr(X));
ContainsExpr( Name Expr(myExpression), Expr(c));
ContainsExpr( Name Expr(myExpression), Expr(3));Too bad there is no setting for custom functions to NOT evaluate the argument, but just look it up - a magic 擷取表達式is capable of.
Without this possibility, maybe it's better to learn the Not(is empty(Extract Expr(
... instead of EVERY time having to wrap the arguments with 表達式() to save them from getting evaluated.
回覆:包含表達式@莎拉-西爾維斯特 .
-> 願望可以關閉。
回覆:包含表達式 - 狀態變更為:已存檔