вторник, 1 декабря 2015 г.

#1204. Переменные времени выполнения, итераторы и фильтры. Добавляем подробности. Только код

Код:

UNIT WasGenerated.ms.script

USES
 Testing.ms.dict
;

Test&Dump WasGenerated.ms.script.test

 : A
  @SELF
  // - функция возвращает ссылку на саму себя
 ; // A

 : B
  @SELF
  // - функция возвращает ссылку на саму себя
 ; // B

 : C
  @SELF
  // - функция возвращает ссылку на саму себя
 ; // C

 [ A A A B B B C C C A A A B B B C C C ] 
 // - это массив значений
 .map> pop:Word:Name 
 // - мапируем значение на вызов функции pop:Word:Name  
 .for> 
 // - итерируем смапированные значения
 .
 // - печатаем каждое итерируемое значение

 // В итоге:
 // - тут итерируем массив и для каждого слова выводим его имя
 // т.е. мапируем Element на pop:Word:Name

; // WasGenerated.ms.script.test

WasGenerated.ms.script.test

Вывод на печать:

VOID TestWithDump WasGenerated.ms.script.test
 : A
  A
 ; // : A
 
 : B
  B
 ; // : B
 
 : C
  C
 ; // : C
 
 WasGenerated.ms.script.test
 DumpElement
 ARRAY [
  A
  A
  A
  B
  B
  B
  C
  C
  C
  A
  A
  A
  B
  B
  B
  C
  C
  C
 ]
 pop:Word:Name
 SWAP
 Array:Map
 .
 SWAP
 Array:Iterate
; // VOID TestWithDump WasGenerated.ms.script.test

A
A
A
B
B
B
C
C
C
A
A
A
B
B
B
C
C
C


Комментариев нет:

Отправить комментарий