Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;; -*- logo -*-
- ;;; Лексических контекстов и замыканий у Лого нет,
- ;;; :sizeD найдётся в динамической цепочке
- to starpainterD
- output [[angle] [repeat 100 [fd :sizeD lt :angle]]]
- end
- ;;; Замкнутое λ-выражение возвращается функцией
- to starpainter :size
- output `[[angle] [repeat 100 [fd ,[:size] lt :angle]]]
- end
- ct
- cs
- print [Getting :sizeD from dynamic link]
- ;;; Помещаем :sizeD в динамическую цепочку
- make "sizeD 100
- ;;; Берём незамкнутое λ-выражение, которое нам
- ;;; вернёт starpainterD и применяем его к 100
- apply (starpainterD) [100]
- wait 180
- cs
- print [Applying closed expression]
- ;;; Берём замкнутое λ-выражение, которое нам
- ;;; вернёт starpainter и сохраняем в переменную
- make "s100 starpainter 50
- ;;; применяем его к 170
- apply :s100 [170]
- pu seth 90 fd 300 pd ;;; Черепашку направо
- ;;; Аналогично, но без переменных
- apply (starpainter 150) [175]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement