-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add translation of “03-04 Functions” #52
Conversation
manuscript/03-04-Functions.md
Outdated
|
||
За більш детальною інформацією щодо визначення контексту направляємо читачів до [статті з Вікіпедії](http://en.wikipedia.org/wiki/Scope_(computer_science)), у якій вичерпно роз’яснюються різні типи визначення контексту. | ||
|
||
Для виклику функцій у ClojureScript використовується типова для діалектів Lisp префіксну нотацію: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Використовується префіксна натоція
manuscript/03-04-Functions.md
Outdated
;; => 2 | ||
``` | ||
|
||
У наведеному прикладі `inc` - це функція та частина середовища виконання (рантайму) ClojureScript, а `1` - це перший аргумент функції `inc`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А 'і' - перший аргумент функції інк (не потрібно вдруге використовувати це;)
manuscript/03-04-Functions.md
Outdated
;; => 6 | ||
``` | ||
|
||
Символ `+` представляє функцію додавання. На відміну від мов родини ALGOL, де знаком `+` позначається оператор додавання, що допускає лише два параметри, у ClojureScript символ `+` означає функцію і кількість її параметрів не обмежена. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Символ '+' означає функцію, кількість параметрів якої не обмежена
manuscript/03-04-Functions.md
Outdated
|
||
Символ `+` представляє функцію додавання. На відміну від мов родини ALGOL, де знаком `+` позначається оператор додавання, що допускає лише два параметри, у ClojureScript символ `+` означає функцію і кількість її параметрів не обмежена. | ||
|
||
Префіксна нотація має значні переваги, в тому числі досить неочевидні. ClojureScript не розрізняє функції та оператори, кожен оператор - це функція. Префіксна нотація знімає обмеження на кількість аргументів будь-якого “оператора”. Також префіксна нотація повністю усуває проблему пріоритету операторів. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ClojureScript не розрізняє функції та оператори:(!) кожен оператор - це функція.
Префіксна нотація знімає обмеження на кількість аргументів будь-якого “оператора”,(!) а також повністю усуває проблему їхнього пріоритету
manuscript/03-04-Functions.md
Outdated
;; => 25 | ||
``` | ||
|
||
Приступимо до створення іменованих функцій. Але спочатку спитаємо себе: що таке _іменована функція_? Все дуже просто: у ClojureScript функції - це об’єкти першого класу, що поводяться як будь-які інші значення, тому іменування функція - це поєднання функції та певного символа. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
поводяться,(!) як будь-які інші значення, тому іменування функціЇ - це її поєднання з певним символом
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
або
спитаємо себе ,(!) що таке іменована функція?
або
спитаємо себе: "що таке іменована функція?"
у ClojureScript ,(!) функції
іменування функції
manuscript/03-04-Functions.md
Outdated
(+ x increment))) | ||
``` | ||
|
||
Рядок : `([x] (myinc x 1))` означає, що за наявності лише одного аргумента слід викликати функцію `myinc` із цим аргументом та числом `1` у якості другого аргумента. Друге тіло функції `([x increment] (+ x increment))` означає, що якщо аргументів два, слід повернути результат додавання цих аргументів. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
слід викликати функцію myinc
із цим аргументом та числом 1
-(!) у якості другого аргумента.
manuscript/03-04-Functions.md
Outdated
|
||
#### Скорочений синтаксис анонімних функцій | ||
|
||
Для визначення анонімних функцій _ClojureScript_ пропонує скорочений синтаксис із використанням макросу читання `#()` (як правило, використовується із однорядковими функціями). Макроси читання - це спеціальні вирази, що трансформуються у відповідну мовну форму під час компіляції. У цьому випадку - у вираз, що використовує спеціальну форму `fn`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Для визначення анонімних функцій,(!) ClojureScript пропонує
manuscript/03-04-Functions.md
Outdated
;; => 3.5 | ||
``` | ||
|
||
Попередній вираз представляє собою скорочений запис наступного: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Попередній вираз є скороченим записом наступного:
manuscript/03-04-Functions.md
Outdated
;; => 25 | ||
``` | ||
|
||
Приступимо до створення іменованих функцій. Але спочатку спитаємо себе: що таке _іменована функція_? Все дуже просто: у ClojureScript функції - це об’єкти першого класу, що поводяться як будь-які інші значення, тому іменування функція - це поєднання функції та певного символа. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
або
спитаємо себе ,(!) що таке іменована функція?
або
спитаємо себе: "що таке іменована функція?"
у ClojureScript ,(!) функції
іменування функції
manuscript/03-04-Functions.md
Outdated
(* x x)) | ||
``` | ||
|
||
Рядок між ім’ям функції та вектором параметрів називається _документаційним рядком_ _(docstring)_. Ці рядки будуть використані програмами, що автоматично створюють веб-документацію з сирцевих файлів. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Рядок ,(!) між ім’ям функції та вектором параметрів,(!) називається
Ці рядки використовуються програмами
Draft translation of 03 04 functions #9