2013-01-07 1 views
3

큰 질문으로 올해 시작합니다. 내가CF9 cfscript, 인수에 동적 배열 전달

myName = "Henry"; 
myCustomFunction([ myName, "Thierry" ]); 

을 수행 할 때 그것은 myName is undefined과 같은 오류가 발생합니다. 왜?

나는

myName = "Henry"; 
aMyArrayArgument = [ myName, "Thierry" ]; 
myCustomFunction(aMyArrayArgument); 

를 수행하여이 문제를 해결할 수 있습니다하지만 여전히, 나는 ColdFusion이 인수에 [ myName, "Thierry" ]을 통과하는 것을 허용하지 않는 이유를 알고 싶어?

프레임 워크 1 (FW/1)을 사용하면 도움이됩니다.

감사합니다.

+7

나는 당신의 기능 정의와 관련이 있다고 생각합니다. 'myCustomFunction'의 서명은 무엇입니까? 또한 정확한 오류 메시지는 무엇입니까? – Leigh

+1

나는 다른 사람들이 말한 것을 되풀이 할 것이다. 당신이 인용 한 코드는 괜찮습니다. 오류를주는 다른 코드입니다. Robust Exception Handling 스위치를 켜면 오류 메시지를 볼 수 있으며 정확한 오류 메시지와 발생 행이 표시됩니다. 그런 다음 "myName이 정의되지 않은 오류가 발생합니다"와 같이 애매한 것 대신에이를 제공 할 수 있습니다. 오류가 * 같은 것을 우리에게주지 말고, 정확한 오류와 정확한 오류 코드를 제공하십시오. –

+0

이것은 [[3482734] (https://bugbase.adobe.com/index.cfm?event=bug&id=3482734)의 변형입니다. 실제 코드는 블록 안에 있고 이름 지정된 인수를 사용하고 있습니다. –

답변

1

실제 코드를 더이 보이는 경우 CF에서 문자 구조체와 배열 표기가 매우 심하게 작성 및 버그 때문에

if (something) 
{ 
    myName = "Henry"; 
    myCustomFunction(argname=[ myName, "Thierry" ]); 
} 

그런 다음이 있습니다.

상황을 확인할 수있는 경우 raise an issue with Adobe (이미 이와 관련된 몇 가지 문제가 있으며 중복 여부를 확인할 수 있음).

+0

고맙습니다. 사실, 오류가 IF 문에 나타납니다. – Adysone

1

나는이 할 경우

<cffunction name="xx" returntype="void"> 
    <cfargument name="x" type="array"> 
    <cfdump var="#arguments.x#"> 
</cffunction> 

<cfset myname = "dan"> 
<cfset xx([myname, 'bracuk']) > 

코드는 오류없이 실행을 내가 덤프를 참조하십시오. 코드에 다른 것이 계속 있어야합니다.

관련 문제