2011-11-02 2 views
1

구조체의 모든 값 (함수에 전달 된 인수)을 대문자로 변환해야합니다.구조체의 모든 값 서식 지정

다음 메소드를 작성했지만 인수를 형식화 된 것으로 바꾸지 않고 인수 struct에 대한 새 키를 작성합니다 (예 : 첫 번째 루프의 경우 인수 값이 '1'인 키를 작성합니다 [1], 다음 루프 [2] 등등.

사람이 내가 구조체의 각 키의 값을 변경하는 방법을 제안 할 수 있습니다 인수의 값이 '2'의 새 키를 생성?

코드 종류는 내가하려는 일을 보여 주지만 더 많은 정보가 필요하면 알려주세요.

public function formatValues(){ 

     numArgs = structCount(arguments); 
     for (i=1; i<=numArgs ; i=i+1){ 
      arguments[i] = Ucase(arguments[i]); 
     } 

     return arguments; 

} 

답변

5

이 시도 :

public function formatValues(){ 
    for (var i in arguments){ 
     if(isSimpleValue(arguments[i])){ 
      arguments[i] = ucase(arguments[i]); 
     } 
    } 
    return arguments; 
} 
writeDump(formatValues(name="moo",city="baa")); 
writeDump(formatValues("moo","baa")); 

이 명명 된 인수 및 비 명명 된 인수와 함께 작동합니다. 또한 복잡한 변수 (배열, 구조체, 객체)가 아닌 단순한 값 (문자열, 숫자 등) 만 수정합니다.

+0

Scott, 완벽하게 작동했습니다. 솔직히 말해서, 제가 왜 문제를 해결했는지 정확히 알지 못합니다. 왜냐하면 과제는 똑같기 때문입니다.하지만 .. 저는 행복한 고객입니다 .. 감사합니다! – Jason

0

매개 변수를 잊었습니까?

public function formatValues(arguments){ 

      var numArgs = structCount(arguments); 
      for (var i=1; i<=numArgs ; i=i+1) 
      { 
       arguments[i] = Ucase(arguments[i]); 
      } 

      return arguments; 

    } 
+1

numArgs 및 i에 대한 var 문을 잊지 마십시오. –

+1

다음 조건 중 하나가 발생하면 오류가 발생합니다. 1. formatValues ​​(arrayNew())와 같은 복잡한 객체가 formatValues ​​()로 전달됩니다. 2. formatValues와 같은 명명 된 인수를 사용합니다 (name = "Skippy", city = "Any Town") –