Advertisement
dluciv

Logo dynamic link & quotation

Jul 9th, 2015
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Prolog 1.18 KB | None | 0 0
  1. ;;; -*- logo -*-
  2.  
  3. ;;; Лексических контекстов и замыканий у Лого нет,
  4. ;;; :sizeD найдётся в динамической цепочке
  5. to starpainterD
  6.   output [[angle]  [repeat 100 [fd :sizeD lt :angle]]]
  7. end
  8.  
  9. ;;; Замкнутое λ-выражение возвращается функцией
  10. to starpainter :size
  11.   output `[[angle]  [repeat 100 [fd ,[:size] lt :angle]]]
  12. end
  13.  
  14. ct
  15. cs
  16. print [Getting :sizeD from dynamic link]
  17.  
  18. ;;; Помещаем :sizeD в динамическую цепочку
  19. make "sizeD 100
  20. ;;; Берём незамкнутое λ-выражение, которое нам
  21. ;;; вернёт starpainterD и применяем его к 100
  22. apply (starpainterD) [100]
  23.  
  24. wait 180
  25. cs
  26. print [Applying closed expression]
  27.  
  28. ;;; Берём замкнутое λ-выражение, которое нам
  29. ;;; вернёт starpainter и сохраняем в переменную
  30. make "s100 starpainter 50
  31. ;;; применяем его к 170
  32. apply :s100 [170]
  33.  
  34. pu seth 90 fd 300 pd ;;; Черепашку направо
  35.  
  36. ;;; Аналогично, но без переменных
  37. apply (starpainter 150) [175]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement