Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Newbie 15.08.2009 12:23
Продолжая "серию тупых вопросов" в ходе погруженного изучения Парсера экспресс-методом. Из документации не очевилно, на форуме куча мимо темы - поэтому не нашел.# Вариант 1 $myhash[^hash::create[]] ^for[i](0;10){ ^for[j](0;10){ $myhash.$i.$j[x=$i y=$j] # Выдаст ошибку о том, что ТАК нельзя } } $myhash.3.10 # До этого дело не доходит
# Варинат 2 - более извращенный $ihash[^hash::create[]] $jhash[^hash::create[]] ^for[i](0;10){ ^for[j](0;10){ $jhash.$j[x=$i y=$j] # "Набиваем" одномерный хеш $jhash.0..10[] } $ihash.$i[$jhash] # "Набиваем" одномерный хеш $ihash.0..10[$jhash-ами] } $ihash.0.5 # Выдаст x=10 y=5 $ihash.3.3 # Выдаст x=10 y=3 $ihash.6.5 # Выдаст x=10 y=5 # # Видимо это происходит потому, что $jhash в каждом цикле перетирается - и то что заносится в $ihash - это все ссылка на один и тот же hash # отсюда видимо следует что и так - не прокатит - и нужно $ihash набивать $jhash-ем методами типа add или unionПолучить "эффект" ручного создания многомерного хеша ^process-ом тоже не выходит, то есть: