четверг, 7 апреля 2016 г.

#1216. Скрипты. Правила. Создание новых элементов. Лямбды. Объединение списков

INTERFACE FUNCTION MakeConstants:
  STRING IN aName
  ^ IN aLambda
 aName nil MakeParam: ( 
   IN aMade
  aMade -> Stereotype := st_Constants
  aMade aLambda DO
 )
 >>> Result 
; // MakeConstants:
  
elem_iterator ConstantsEx
 Cached:
 (
  Self .Constants
  
  RULES
   ( Self .IsTypedef )
    RULES
     ( Self .MainAncestor .IsEnum )
      RULES
       ( Self .Name Self .MainAncestor .Name == )
        (
         .join>
         [
          [ Self .Name '_' Self .MainAncestor .Name '_' 'Constants' ] strings:Cat
          MakeConstants: (
            IN aConstants
           aConstants .Name Msg 
          ) // MakeConstants:
         ]
        ) // ( Self .Name Self .MainAncestor .Name == )
      ; // RULES
    ; // RULES
  ; // RULES
 )
 >>> Result
; // ConstantsEx

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

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