The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"awk и многомерные массивы"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"awk и многомерные массивы"  +/
Сообщение от Владимир (??) on 08-Окт-09, 11:10 
Что-то как-то непонятно. Есть простенькая программка на awk:

{
m[1]=$1;
m[2]=$2;
}
END { for ( i in m ) print m[i] }

Если на вход дать, например, пару цифр на выходе получим ту же пару.
Пытаюсь сделать все то же самое, но с двумерным массивом:

{
m[1,1]=$1;
m[2,1]=$2;
}
END { for ( (i,j) in m ) print m[i,j] }

лепит ошибку:

awk: syntax error at source line 5
context is
        END { for ( (i,j) in m >>>  ) <<<
awk: illegal statement at source line 5

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "awk и многомерные массивы"  +/
Сообщение от Andrey Mitrofanov on 08-Окт-09, 11:52 
>Что-то как-то непонятно.
>лепит ошибку:
>awk:

man gawk
man awk

в районе "arrays"...

Так понятнее, _кто_ "лепит" ошибку?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "awk и многомерные массивы"  +/
Сообщение от Andrey Mitrofanov on 08-Окт-09, 12:04 
>man gawk
>в районе "arrays"...
>Так понятнее, _кто_ "лепит" ошибку?

Упс. Сам такой, прошу прощения.

Многомерных-то массивов нет, но конструкция "(i,j) in arr" есть... Но судя по контексту ман-а и тому, что так не работате -- она реализована только для if(), но не для for(), грубо выражаясь.

Вот так работает:

#!/usr/bin/gawk -f

BEGIN {
SUBSEP=","
m[1,1]=111;
m[2,1]=222;

for ( s in m ) print i" "m[s];

for ( s in m ) {
  match(s, /(.+),(.+)/, ar);
  i=ar[1]; j=ar[2]
  print i" "j" "m[i,j];
  }
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "awk и многомерные массивы"  +/
Сообщение от Pahanivo email(ok) on 08-Окт-09, 13:31 
кончаем извращатся и переходим на перл!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру