Skip to content

Commit

Permalink
Merge pull request #134 from sseezov/fix/15-20
Browse files Browse the repository at this point in the history
несколько предложений по тексту
  • Loading branch information
HelenOne authored Mar 4, 2024
2 parents f9ce18f + 47e82f1 commit d907b2d
Showing 1 changed file with 4 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ name: Объявление и вызов функций
theory: |
Функции в Clojure обладают следующими свойствами:
* У функций нет имен. Во многих языках такие функции также существуют и называются анонимными функциями или лямбда-функциями.
* Функции являются объектами первого рода. Их можно присваивать переменным, передавать в другие функции и возвращать из функций.
* У функций нет имен. Во многих языках такие функции также существуют и называются анонимными функциями.
* Функции являются объектами первого рода (или класса). Это значит, что их можно присваивать переменным, передавать в другие функции и возвращать из функций.
```clojure
; определение функции, вычисляющей сумму двух чисел
Expand All @@ -32,7 +32,7 @@ theory: |
(fn [num1 num2] (/ (+ num1 num2) 2))
```
Определение функции само по себе мало полезно, особенно если мы захотим использовать её несколько раз. Для повторного использования нужно создать объявление, в которое запишется функция. Такое возможно благодаря тому, что форма определения функции — это выражение, возвращающее саму функцию.
Определение функции само по себе мало полезно, особенно если мы захотим использовать её несколько раз. Для повторного использования нужно создать объявление, в которое запишется функция. Такое возможно благодаря тому, что форма определения функции — это выражение, возвращающее саму функцию. Иными словами, мы просто записываем в наш идентификатор ссылку на функцию.
```clojure
(def cube (fn [n] (* n n n)))
Expand All @@ -45,7 +45,7 @@ theory: |
(cube 3) ; 27
```
Помимо связи анонимной функции с объявлением существует упрощенный вариант объявления функции и связи ее с идентификатором. Делается это с помощью формы `defn`, которая делает процесс объявления функции удобнее (в таком способе объявления возможно даже написать документацию на объявляемую функцию!).
Помимо связи анонимной функции с объявлением существует упрощенный вариант объявления функции и ее связывания с идентификатором. Делается это с помощью формы `defn`, которая упрощает процесс объявления функции (в таком способе объявления возможно даже написать документацию на объявляемую функцию!).
```clojure
(defn cube [n] (* n n n))
Expand Down

0 comments on commit d907b2d

Please sign in to comment.