Ну и можно написать:
а можно:
, по мне второе - читабельнее.
Это к вопросу об SQL и LINQ.
http://programmingmindstream.blogspot.ru/2016/04/1132-2.html
for i := 0 to N do if IsPredicate(Item[i]) then Process(Transform(Item[i]))
а можно:
Items .filter> IsPredicate .map> Transform .for> Process
, по мне второе - читабельнее.
Это к вопросу об SQL и LINQ.
http://programmingmindstream.blogspot.ru/2016/04/1132-2.html
ARRAY FUNCTION .mapToTarget> ARRAY IN anArray anArray .map> .Target >>> Result ; // .mapToTarget> BOOLEAN elem_func IsFriend Self .IsStereotype st_friend::Dependency >>> Result ; // IsFriend Self .Dependencies .filter> .IsFriend .mapToTarget> .for> ( IN anItem ) // .for>
elem_iterator ChildrenEx Cached: ( VAR l_Children Self .Children >>> l_Children Self .Dependencies .filter> .IsFriend .mapToTarget> .for> ( IN anItem VAR l_Friend anItem .FriendClass >>> l_Friend l_Children .join> ToArray: l_Friend >>> l_Children ) // .for>
elem_iterator ChildrenEx Cached: ( VAR l_Children Self .Children >>> l_Children Self .Dependencies .filter> .IsFriend .mapToTarget> .for> ( IN anItem VAR l_Friend anItem .FriendClass >>> l_Friend if ( l_Children l_Friend .Name .HasModelElementWithName ! ) then begin l_Children .join> ToArray: l_Friend array:Copy >>> l_Children end // ( l_Children l_Friend .Name .HasModelElementWithName ! ) ) // .for>
elem_iterator ChildrenEx Cached: ( VAR l_Children Self .Children >>> l_Children Self .Dependencies .filter> .IsFriend .mapToTarget> .map> .FriendClass .for> ( IN aFriend if ( l_Children aFriend .Name .HasModelElementWithName ! ) then begin l_Children .join> ToArray: aFriend array:Copy >>> l_Children end // ( l_Children aFriend .Name .HasModelElementWithName ! ) ) // .for>
Комментариев нет:
Отправить комментарий