Tôi cần một số trợ giúp trong việc xác định mảng và hiển thị và lặp lại chúng trong TCL.xác định và lặp qua các mảng tcl
Đây là cách tôi sẽ thực hiện chúng trong php.
$date =array();
$size=0;
$date[$size] =$pre_event_date;
/* After doing some manpulation and calculations with $size */
for($i=0;$i<=$size;$i++){
echo $date[$i];
}
Tôi muốn làm tương tự với tcl.Đây có phải là mã sau thích hợp không?
set size 0
set date[$size] $pre_event_date
#After performing some manipulation
for {set i 0} { $i <=$size } {incr i} {
puts "$date[$i]";
}
Tôi cũng có thể xác định đặt $ date làm mảng. Một số giống như:
set date array();
Vì vậy, tôi thay đổi nội dung mã của tôi đã thử một thử nghiệm đơn giản sử dụng thực hiện mảng RSeeger của:
set date(0) 35
set date(1) 40
foreach key [array names date]{
puts "${key}=$date($key)"
}
doesnt trên trở lại bất cứ điều gì có lẽ là một số lỗi. Tôi cũng đã thử: đặt $ date ($ key) không có dấu ngoặc kép nhưng điều đó không hoạt động.
Bạn sẽ được hưởng lợi từ [Tcl hướng dẫn] (http://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html) –
Vấn đề với đoạn mã cuối cùng của bạn là nó thiếu một khoảng trống giữa '[mảng tên ngày tháng]' và '{'. Không gian đó là ** đáng kể ** trong Tcl! Nó phân tách thứ được lặp lại (nội dung mảng được tuần tự hóa) từ kịch bản lệnh để thực hiện cho mỗi lần lặp. Nói chung, với Tcl bạn _must_ tách riêng các từ của bạn một cách chính xác; nó nhanh chóng trở thành bản chất thứ hai (và tôi có xu hướng làm điều tương tự bây giờ trong nhiều ngôn ngữ khác nữa, vì khoảng trắng thừa tăng khả năng đọc gần như ở khắp mọi nơi, miễn là nó có ngữ nghĩa hợp pháp). –