Spec-Zone.ru › Tcllib

lambda

ИМЯ

lambda — вспомогательные команды для анонимных процедур

Содержание

  • Содержание

  • Краткое описание

  • Описание

  • Команды

  • Авторы

  • Ошибки, идеи, отзывы

  • См. также

  • Категория

  • Авторские права

КРАТКОЕ ОПИСАНИЕ

package require Tcl 8.5 9
package require lambda ?1.1?

::lambda arguments body ?arg...?
::lambda@ namespace arguments body ?arg...?

ОПИСАНИЕ

Этот пакет предоставляет две вспомогательные команды, которые делают запись анонимных процедур, то есть лямбда-функций, более похожей на proc. Вместо того чтобы, например, писать

set f {::apply {{x} {
   ....
}}}

с глубоко вложенными фигурными скобками или

set f [list ::apply {{x y} {
   ....
}} $value_for_x]

с командой list для вставки некоторых аргументов при частичном применении, просто напишите

set f [lambda {x} {
   ....
}]

и

set f [lambda {x y} {
   ....
} $value_for_x]

КОМАНДЫ

  • ::lambda arguments body ?arg...?

    Команда создает анонимную процедуру из списка аргументов, скрипта тела и (необязательных) предопределенных значений аргументов и возвращает префикс команды, представляющий эту анонимную процедуру.

    При вызове body выполняется в новой области видимости процедуры непосредственно под глобальной областью видимости; аргументам присваиваются значения, переданные как при создании, так и при вызове.

  • ::lambda@ namespace arguments body ?arg...?

    Команда создает анонимную процедуру из имени пространства имен, списка аргументов, скрипта тела и (необязательных) предопределенных значений аргументов и возвращает префикс команды, представляющий эту анонимную процедуру.

    При вызове body выполняется в новой области видимости процедуры в пространстве имен namespace; аргументам присваиваются значения, переданные как при создании, так и при вызове.

АВТОРЫ

Andreas Kupries

ОШИБКИ, ИДЕИ, ОТЗЫВЫ

В этом документе и описываемом в нем пакете, несомненно, есть ошибки и другие проблемы. Пожалуйста, сообщайте о них в категории lambda в системе отслеживания ошибок Tcllib. Также сообщайте о любых идеях по улучшению пакета и/или документации.

Предлагая изменения кода, пожалуйста, предоставляйте унифицированные различия, то есть вывод команды diff -u.

Также обратите внимание, что предпочтительнее прикреплять вложения, а не вставлять исправления в текст. Чтобы прикрепить файл, сразу после создания заявки перейдите к форме Редактировать, а затем нажмите самую левую кнопку на панели дополнительной навигации.

СМ. ТАКЖЕ

apply(n), proc(n)

КАТЕГОРИЯ

Вспомогательные средства

АВТОРСКИЕ ПРАВА

Авторское право © 2011 Andreas Kupries, лицензия BSD

Licensed under the BSD license
https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/lambda/lambda.md

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API