리눅스 "foreach"명령으로리스트 반복자 만들기

프로그래밍 할 때 foreach 명령은 루프 변수가 하나 이상의 목록에서 값을 취하는 루프를 구현합니다. 가장 단순한 경우에는 하나의 루프 변수 인 varnamevarname 에 할당 할 값 목록 인 하나의 list, list 가 있습니다. body 인수는 Tcl 스크립트입니다. 목록의 각 요소 (처음부터 끝까지)에서 foreachlindex 명령이 요소를 추출하는 데 사용 된 것처럼 varname에 요소의 내용을 할당 한 다음 Tcl 해석기를 호출하여 본문 을 실행 합니다 .

개요

foreach varname 목록 본문
foreach varlist1 list1 ? varlist2 list2 ... ? 신체

토론

일반적으로 하나 이상의 값 목록 (예 : list1list2 )이있을 수 있으며 각 값 목록은 루프 변수 목록 (예 : varlist1varlist2 )과 연관 될 수 있습니다. 루프를 반복 할 때마다 각 varlist 의 변수에는 해당 목록의 연속 값이 지정 됩니다 . 각 목록의 값은 처음부터 끝까지 사용되며 각 값은 정확히 한 번만 사용됩니다. 루프 반복의 총 횟수는 모든 값 목록의 모든 값을 사용할만큼 충분히 큽니다. 값 목록에 각 반복에서 각 루프 변수에 대한 요소가 충분하지 않으면 누락 된 요소에 빈 값이 사용됩니다.

breakcontinue 문은 for 명령과 동일한 효과로 본문 내에서 호출 될 수 있습니다. foreach 는 빈 문자열을 반환합니다.

예제들

다음 루프는 ij 를 루프 변수로 사용하여 단일 목록의 요소 쌍을 반복합니다.

set x {foreach {ij} {abcdef} {lappend x $ j $ i} # x 값은 "badcfe"입니다. # 반복문은 3 번 반복됩니다.

다음 루프는 ij 를 사용하여 두리스트를 병렬로 반복합니다.

x의 값은 "adbecf {} g"입니다. # 루프의 반복이 4 번 있습니다.

다음의 두 가지 형식이 결합됩니다.

x의 값은 "adebfgc {} {}"입니다. # 반복문은 세 번 반복됩니다.

노트

foreach 와 관련된 몇 가지 명령은 다음과 같습니다.

Linux 배포 및 커널 릴리스 레벨이 다르므로 man 명령 ( % man )을 사용하여 특정 컴퓨터 에서 명령이 구체적으로 어떻게 사용되는지 확인하십시오.