Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Массив (http://forum.oszone.net/showthread.php?t=231217)

Starter1 25-03-2012 11:51 1886241

Массив
 
Подскажите пожалуйста самый простой пример массива, ну например английского алфавита. Чтобы когда задашь @echo A[4] (или как он там обозначается) выдавало в окно букву "e". Листал учебники и по форумам лазил, нашедшие примеры не работают.
Код:

::От 0 до 25 всего 26. "e" 4 по номеру так как с 0 отчёт.
call :array new A "'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' 'x' 'y' 'z'"
@echo A[5]

Заранее спасибо!

Anonymоus 25-03-2012 12:24 1886262

Starter1, вот вам подборочка ссылок: 1, 2, 3
Все варианты работоспособны, последний кроме того, представляет из себя псевдо-базу данных (правда, заточенную под специфические цели). Выбирайте то, что вам больше по вкусу.

gora 25-03-2012 12:37 1886270

Цитата:

Цитата Starter1
Чтобы когда задашь @echo A[4] (или как он там обозначается) выдавало в окно букву "e" »

Код:

@Echo Off
SetLocal EnableDelayedExpansion
Set cnt=0
For %%a In (a b c d e f g h i j k l m n o p q r s t u v w x y z) Do Set A[!cnt!]=%%a& Set /a cnt +=1
@echo %A[4]%
Pause>Nul


Starter1 25-03-2012 13:45 1886306

gora, Set cnt=0 обязательно?

gora 25-03-2012 13:51 1886314

Starter1, обязательно, если хотите иметь "индекс массива" начиная с 0, а если с 1, то можно удалить и поменять местами пару команд:
Код:

For %%a In (a b c d e f g h i j k l m n o p q r s t u v w x y z) Do Set /a cnt +=1& Set A[!cnt!]=%%a


Время: 20:14.

Время: 20:14.
© OSzone.net 2001-