Основные элементы языка программирования Icon. Чанышев О.Г. - 17 стр.

UptoLike

Составители: 

33
Если k=1|2, то
[key1,val1,key2,val2,...,keyN,valN]
Если Вы хотите представить таблицу в виде списка списков,
не сортируя, сделайте нечто подобное следующему:
tab1:=table()
s:="Я не хочу тебя видеть, пока ты не умоешься!"
every i:=1 to *s & x:=s[i] do {
/tab1[x]:=[]
put(Tab1[x],i)
}
list1:=[]
# list1 будет содержать ключ-символ в качестве первого
элемента
# и список(!) номеров позиций его вхождения в строку в ка-
честве следующих
# элементов
.
every list1:=[k:=key(Tab1),tab1[k]] do
{
every el:=!list1 do every WWrites(" ",!el)
WWrite()
}
WDone()
End
Для символа 'т', например, получите: т 11 20 29
7.3. Некоторые другие функции
copy(tab) – создает копию таблицы.
delete(tab,x) – удаляет из таблицы ключ вместе со значением.
insert(tab,x,y) то же, что и T[x]:=y.
member(tab,x) – проверка, является ли x ключом в tab.
34
8. Множества
Мы уже познакомились с объектами типа множество, рас-
сматривая символьные множества. Множество в Icon'енеупоря-
доченная «коллекция» объектов без дублирования. Если Вы пы-
таетесь включить уже существующий объект, он просто не вклю-
чится. Операции над множествами мы тоже рассмотрели.
Остается познакомиться с функциями, ориентированными
на роботу со множествами.
copy(S) – создает копию
множества S.
delete(S,x) – удаляет элемент x.
insert(S,x) – включает x.
member(S,x) – проверяет на принадлежность элемента x
множеству S.
set() – создает пустое множество.
set(L) – создает множество из элементов списка L.
sort(S) – создает список из множества S. Однотипные эле-
менты собираются вместе и располагаются в порядке создания.
sortf(S,i) – то же самое, только записи и списки сортируются
по i-м полям.
     Если k=1|2, то                                                                          8. Множества
     [key1,val1,key2,val2,...,keyN,valN]
                                                                          Мы уже познакомились с объектами типа множество, рас-
      Если Вы хотите представить таблицу в виде списка списков,     сматривая символьные множества. Множество в Icon'е – неупоря-
не сортируя, сделайте нечто подобное следующему:                    доченная «коллекция» объектов без дублирования. Если Вы пы-
      tab1:=table()                                                 таетесь включить уже существующий объект, он просто не вклю-
      s:="Я не хочу тебя видеть, пока ты не умоешься!"              чится. Операции над множествами мы тоже рассмотрели.
      every i:=1 to *s & x:=s[i] do {                                     Остается познакомиться с функциями, ориентированными
      /tab1[x]:=[]                                                  на роботу со множествами.
      put(Tab1[x],i)                                                      copy(S) – создает копию множества S.
      }                                                                   delete(S,x) – удаляет элемент x.
      list1:=[]                                                           insert(S,x) – включает x.
      # list1 будет содержать ключ-символ в качестве первого              member(S,x) – проверяет на принадлежность элемента x
элемента                                                            множеству S.
      # и список(!) номеров позиций его вхождения в строку в ка-          set() – создает пустое множество.
честве следующих                                                          set(L) – создает множество из элементов списка L.
      # элементов.                                                        sort(S) – создает список из множества S. Однотипные эле-
      every list1:=[k:=key(Tab1),tab1[k]] do                        менты собираются вместе и располагаются в порядке создания.
      {                                                                   sortf(S,i) – то же самое, только записи и списки сортируются
       every el:=!list1 do every WWrites(" ",!el)                   по i-м полям.
       WWrite()
      }
      WDone()
      End

     Для символа 'т', например, получите: т 11 20 29

     7.3. Некоторые другие функции
     copy(tab) – создает копию таблицы.
     delete(tab,x) – удаляет из таблицы ключ вместе со значением.
     insert(tab,x,y) то же, что и T[x]:=y.
     member(tab,x) – проверка, является ли x ключом в tab.




                                33                                                                 34