This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
geda:gnetlist_scheme_tutorial.ru [2014/04/25 05:58] vzh Updated using po4a |
geda:gnetlist_scheme_tutorial.ru [2015/08/25 07:41] vzh Little review |
||
---|---|---|---|
Line 40: | Line 40: | ||
http://www.gnu.org/software/guile/manual/html_node/index.html | http://www.gnu.org/software/guile/manual/html_node/index.html | ||
+ | %%%% | ||
Итак, начнём. Вот очень простой драйвер: | Итак, начнём. Вот очень простой драйвер: | ||
Line 74: | Line 74: | ||
</code> | </code> | ||
+ | %%%% | ||
Ты должен увидеть обычный текст стандартного приглашения, за которым | Ты должен увидеть обычный текст стандартного приглашения, за которым | ||
Line 94: | Line 94: | ||
</code> | </code> | ||
+ | %%%% | ||
''packages'' --- удобная переменная, содержащая список всех уникальных | ''packages'' --- удобная переменная, содержащая список всех уникальных | ||
значений атрибутов ''refdes=''. Набрав её, ты скормил её «REPL» --- циклу | значений атрибутов ''refdes=''. Набрав её, ты скормил её «REPL» --- циклу | ||
- | чтения, оценки, вывода (Read, Evaluate, Print Loop). Итак, REPL считал её, | + | чтения, вычисления, вывода (Read, Evaluate, Print Loop). Итак, REPL считал |
- | оценил (создав список) и вывел. | + | её, вычислил (получив список) и вывел. |
Теперь попробуй: | Теперь попробуй: | ||
Line 108: | Line 108: | ||
</code> | </code> | ||
- | Что здесь произошло? Здесь REPL оценил список. | + | Что здесь произошло? Здесь REPL вычислил список. |
<code lisp> | <code lisp> | ||
Line 215: | Line 215: | ||
идёт первый элемент (технический термин --- «выражение»((Англоязычный термин | идёт первый элемент (технический термин --- «выражение»((Англоязычный термин | ||
--- «form». --- //Прим. перев.//))) --- список аргументов процедуры, в | --- «form». --- //Прим. перев.//))) --- список аргументов процедуры, в | ||
- | данном случае ''(x)''. Когда вызывается процедура, **Guile** оценивает | + | данном случае ''(x)''. Когда вызывается процедура, **Guile** вычисляет |
оставшиеся выражения, в данном случае только одно, ''(+ x 1)'', с | оставшиеся выражения, в данном случае только одно, ''(+ x 1)'', с | ||
подстановкой текущих аргументов. Результат процедуры --- это результат | подстановкой текущих аргументов. Результат процедуры --- это результат | ||
- | оценки последнего выражения. Так, ''(add1 100)'' становится ''(+ 100 1)'', | + | вычисления последнего выражения. Так, ''(add1 100)'' становится ''(+ 100 |
- | что даёт 101. | + | 1)'', что даёт 101. |
Теперь мы можем объединить наш сбор статистики в драйвер. Сначала определим | Теперь мы можем объединить наш сбор статистики в драйвер. Сначала определим |