реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> SOS! Tcl
AndriyG
сообщение Jan 10 2008, 09:58
Сообщение #1


Участник
*

Группа: Validating
Сообщений: 52
Регистрация: 7-04-06
Пользователь №: 15 911



Помогите понять операции с array

Помогите, пожалуйста с синтаксисом, книжки мне не помогут (читал уже)

1. Как в принципе обявить массив?
array set myArray ?!
Нужно ли обязательно указывать размер?

2. Как получить размер array?

3. Как скопировать некоторые елементы из масива A в B?


Вот написал по примеру

proc FindFile { startDir namePat } {


set pwd [pwd]

if {[catch {cd $startDir} err]} {
puts stderr $err
return
}

set match [glob -nocomplain -- $namePat]


return $match
}


match содержит имена файлов найденых в фолдере

Я хочу к каждому имени добавить имя фолдера

Уже даж метод научного тыка не проходит - ну не получается sad.gif

Help!
Go to the top of the page
 
+Quote Post
ClockworkOrange
сообщение Jan 10 2008, 11:26
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 337
Регистрация: 17-05-07
Пользователь №: 27 784



Цитата(AndriyG @ Jan 10 2008, 12:58) *
1. Как в принципе объявить массив?
array set myArray ?!
Нужно ли обязательно указывать размер?

2. Как получить размер array?

3. Как скопировать некоторые элементы из массива A в B?

1.
Код
set имя_массива(индекс) значение

2.
Код
array size имя_массива

3. в дополнении к п.1 - обращаться к элементу так:
Код
$имя_массива(индекс)
например:
Код
set В(индексВ) $A(индексА)


--------------------
Чтoбы yзнaть, кaкaя дopoгa впepeди, cпpocи тex, ктo пo нeй вoзвpaщaeтcя ©
Go to the top of the page
 
+Quote Post
Kirill Frolov
сообщение Jan 13 2008, 17:58
Сообщение #3


Частый гость
**

Группа: Новичок
Сообщений: 111
Регистрация: 10-02-07
Из: St.Petersburg, Russia
Пользователь №: 25 241



Цитата(AndriyG @ Jan 10 2008, 12:58) *
1. Как в принципе обявить массив?


Никак. В tcl нет деклараций.

> array set myArray ?!

Нет. Это ничего не сделает...

> Нужно ли обязательно указвать размер?

Это ассоциативный массив ("хеш"). Какой ещё размер?

> 2. Как получить размер array?

man array /size

> 3. Как скопировать некоторые елементы из масива A в B?

set B($index) $A($index) ?

> Я хочу к каждому имени добавить имя фолдера

КАТАЛОГА.

man foreach?


--------------------
[ZX]
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 6th July 2025 - 03:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01328 секунд с 7
ELECTRONIX ©2004-2016