빌드 과정에서 일부 얼랭 코드를 내 Tsung 구성 파일 (tsung.xml)에 가져 와서 일부 동적 변수를 사용하지만 몇 가지 표현이 제대로 작동하지 않는 것으로 나타났습니다.Tsung.xml에서 Erlang이 임베드되었습니다. 동적 변수가 구문 분석에 실패합니다. 식
If 문이나 대소 문자 또는 함수 정의 (재미 또는 일반)를 사용하려고하면 Tsung이 "unexpected_char"메시지 (그러나 가능한 문자를 언급하지 않음)를 사용하거나 Erlang이 " '[]' "구문 오류가 발생하기 전에 구문 오류가 발생했습니다. 함수식 전체 다만 만약 식 경우
<setdynvars sourcetype="eval"
code="fun({Pid,DynVars}) ->
{Var_Scale, ScaleUp} = {3, 100},
Random=random:uniform() * 100 * ScaleUp,
Compare=round(Var_Scale * ScaleUp),
if
Random =< Compare ->
Return = 1;
true ->
Return = 0
end,
Return.
">
<var name="someVariable" />
동일한 결과가 발생
<setdynvars sourcetype="eval"
code="fun({Pid,DynVars}) ->
if
1 < 2 -> Return = 2;
true -> Return = 3
end.
">
<var name="anotherVariable" />
</setdynvars>
그리고 상기 결과 인라인 또는 익명 함수
<setdynvars ...
Compare=round(Var_Scale * ScaleUp),
Fn = fun() -> a
end.
">
위한
구문 분석 오류.저는 Erlang과 Tsung에 새로운 점이 있습니다. 그래서 아마도이 명령들이 어떻게 구조화되어야하는지, ts_utils에서 Tsung의 평가가 어떻게 받아 들여 져야하는지 오해했을 것입니다. 그것은 표준 얼랑 스캔, 구문 분석 및 평가 방법을 사용하는 것, 그래서 그것은 가장 확실하게 분기 작업과 기능을 지원한다고 생각합니다.
그래서 내 질문 자체는 다음과 같이 요약됩니다.이 코드는 구문 상 올바르지 만 Tsung은이를 단순히 지원하지 않으며 두 번째로는이를 수행하는 데 더 이상 관용적으로 올바른 방법이 있습니까?
아, 물론 : 또한, 이름이 지정된 함수는 달리
fun
는 일치end
토큰이 필요합니다! 나는 잠재적 인 문제로 XML 파서 자체에 대해 생각하지 않았다. 초기 코드 => 함수 정의는 그렇지 않다면 잘 해석한다. 익명의 기능을 충분히 읽을 수없는 것처럼 보입니다. 감사! – user3022071