Expr 추출나는 Eval(Substitute(Expr(...), Expr(..), Expr(.))) 의 열렬한 팬입니다.

유일한 단점: Expr(...), Expr(..), Expr(.)
... subst() - 대체() 2.0 ... 인수를 평가하지 않는 함수라는 아이디어가 떠올랐습니다.
표현식 처리를 가지고 놀면서 Subst() 에 대해 원하는 논리가 Extract Expr()의 논리와 매우 유사하다는 것을 알았습니다. Expr()을 사용할 필요가 없으며 가능한 경우 Name Expr()이 적용됩니다.
Names Default to here(1);
// direct mode, no Expr necessary
Extract Expr(x^2 + y, x);// -> x
Extract Expr(x^2 + y, c);// no c in x^2 + y -> empty
// Name Expr mode
c=Expr(x^2);
Extract Expr(x^2 + y , c);// looks up c = x^2, find "x^2"" in x^2 +y
아주 멋진!
...까지:
Extract Expr(cc * d , cc); // -> cc
cc=Expr(x^2);
Extract Expr(cc * d, cc);// looks up cc = x^2 , so doesn't find cc in cc * d anymore
위험한 ...
cc를 expr이라는 이름 의 기호로 정의한 후에도 Extract Expr 에서 c를 "문자 그대로" 사용할 수 있습니까?
Extract Expr(cc * d , Expr(cc)); // doesn't work
Extract Expr(Expr(cc) , Expr(cc)); // finds Expr(cc)
Extract Expr(cc , Name Expr(Expr(cc))); // -> empty
Extract Expr(Name Expr(Expr(cc)) , Name Expr(Expr(cc))); // finds Name Expr(Expr(cc)), argh!
심지어:
cc=Expr(x^2);
clear symbols(cc);
Extract Expr(cc * d , cc); //-> empty()
자동화 및 스크립팅Re: Expr 추출아마도:
Extract Expr 의 래퍼로 사용자 정의 함수 사용
Names default to here(1);
dummy=Function ({expression, pattern},
Extract Expr(expression, pattern);
);
cc = Expr(x^2);
dummy( Expr(cc+d), Expr(cc)); // -> cc답: Expr 추출답을 찾고 있는 것이 있나요? 또한 표현식에 대한 스크립팅 가이드 스크립팅 가이드 > 프로그래밍 방법 > 고급 표현식, 매크로 및 목록 - 고급 표현식 및 특히 표현식이 평가되는 부분을 읽어 보셨나요?
제목: 추출 표현식 관련링크된 페이지에서 ExtractExpr() 에 대한 추가 정보를 찾지 못했습니다.
@jthi 님 이 썼습니다:
답변을 찾고 계신 것이 있으신가요?
JMP가 표현식 "cc * d" 에서 "cc"를 검색하도록 하려면 어떻게 해야 합니까?
... 설령 cc가 x^2와 같은 다른 표현식의 이름으로 사용되더라도 말입니다.
Extract Expr(cc * d , cc); // -> cc
cc=Expr(x^2);
Extract Expr(cc * d, cc);// looks up cc = x^2 , so doesn't find cc in cc * d anymore
그리고 좀 더 일반적인 경우:
사용자 정의 함수는 항상 인수를 평가합니다. 하지만 Expr() 함수를 사용하면 인수 평가를 방지할 수 있습니다.
Extract Expr 함수는 이름을 사용하기 전에 항상 해당 이름 뒤에 있는 평가되지 않은 표현식(있는 경우)을 가져옵니다. 사용자가 이를 방지할 수 있을까요?
플랫폼 명령은 인수로 이름을 사용할 때 종종 문제가 발생하는데, Eval을 사용하면 이 문제를 해결할 수 있습니다.
JSL에서 인자 처리 범주는 총 몇 개입니까? 구분선이 따로 있나요?
답: Expr 추출왜 그렇게 여러 곳에서 동일한 변수 이름을 사용하겠습니까?
기호 삭제()와 기호 지우기()가 동일하지 않습니다.
Names Default To Here(1);
cc = Expr(x ^ 2);
Delete Symbols(cc);
Extract Expr(cc * d, cc);
Re: Expr 추출링크 주셔서 감사합니다.
더 보기...Extract Expr()은 cc가 정의된 방식에 따라 다르게 작동하는 것 같습니다. cc를 그대로 사용하려면 Expr()로 재할당하지 않거나 Name Expr()을 사용하여 심볼을 주의 깊게 관리하고 평가 문제를 방지하세요. 어려운 논문으로 어려움을 겪고 있었기 때문에
https://domypaper.com/ 으로 향했습니다. 서비스는 훌륭했습니다. 작성자는 지식이 풍부하고, 제 지시를 주의 깊게 따랐으며, 잘 정리되고 고품질의 논문을 제출했습니다. 의사소통이 원활했고, 논문은 제때 제출되었습니다. 결과에 매우 만족하며 향후 과제를 위해 이 서비스를 꼭 다시 이용할 것입니다.