(열거) Enumerating ..
Prototype.js 에서는 배열을 처리하기 위해서 루프제어구조를 생성하고 수치로 구성된 인댁스 로 배열을 처리하는것 보다 더 향상된(?) 기법을 제시한다.
일반적인 아래 배열을
for(i=0;i<simpsons.length;i++){
alert(simpsons[i]);
}
루비온 레일즈 방식으로 변환하여 아래와 같이 사용할 수 있다.
simpsons.each( function(familyMember){
alert(familyMember);
});
음.. 뭐 멋있어 보인다.
그럼됐지... 그러나.
생소하고 별로 편해보이지도 않고 기존 c 스타일에 익숙한 나에겐 더 편해 보이지 않는다.
오류의 소지는 적어 보인다.
for in 과 문법이 비슷해보인다.
이 문법에 적합한 아래 예제가 있다.
Prototype 의 루비온 레일즈 루프 제어구조는 Prototype 객체들과 같이 기존의 배열 루프보다 더욱 향상된 방법을 제시할 것이다.
var options = A$($('lstEmployees').getElementsByTagName('option'));
var opt = options.find( function(employee){
return (employee.value == emp_id);
});
alert(opt.innerHTML);
와 같이 사용하거나
var links = $A($(paragraph).getElementsByTagName('a'));
var localLinks = links.findAll( function(link){
var start = link.href.substring(0,4);
return start !='http';
});
등등 위와같이 사용하게 된다.
익숙하지 않지만 익혀 두는것이 좋을것 같다.
