입력에서 정수를 읽고 목록에 넣으려고합니다.TCL/TK 스크립팅에서리스트의 순서를 뒤집는 목록에서 입력 읽기 및 저장
후에 정수를 반대로하고 그 목록의 역순을 표시하십시오.
문제점 : 모든 입력 사항이 목록에 저장되지 않습니다.
한 줄에 많은 정수를 읽고 한 줄에 하나의 정수를 읽는 대신에 INSTEAD를 저장하고 싶습니다.
코드 :
는#! /bin/env tclsh
set l1 {}
while 1 {
# reads input
set data [gets stdin]
# issue (reads only once per line)
# issue (want to make it read many integers in 1 line)
if {[eof stdin] || [scan $data "%d" myint] != 1} {
break
}
# adds input to list
lappend l1 $myint
}
set l2 {}
# make a list 2 with integers in REVERSED order
for {set i [llength $l1]} {$i >= 0} {incr i -1} {
lappend l2 [lindex $l1 $i]
}
# print both lists to compare
puts $l1
puts $l2
이것은 당신이 최종 목록에서 모든 요소를 통해 루프는 단순히 '0'으로 문자로'문자열 trimleft'을 수행하여 제거 할 수있는뿐만 아니라 입력을'09', 받아 들일 것입니다. – Dinesh
이것을 사용하려면 tclsh 모드로 들어가서 코드를 입력하십시오. "tclsh t.tcl"로 할 수있는 방법이 있습니까? 입력 명령이 작동합니까? – geforce
또한 어떻게 하나의 명령에서 getNum {1,2,3,4}을 수행 할 수 있습니까? getNum 함수에 목록 인수를 추가 하시겠습니까? – geforce