LINUX.ORG.RU

История изменений

Исправление Nervous, (текущая версия) :

забить гвоздь в доску … в функциональном виде?

Забивание гвоздя в доску — это функция из множества кортежей (доска, гвоздь, позиция) в множество досок.

(defn забить-гвоздь-в-доску
  "Возвращает доску с гвоздём, забитым в указанной позиции (в
  сантиметрах от левого верхнего угла)."
  [доска гвоздь позиция]
  (assoc доска позиция гвоздь))

Доска с забитым в неё гвоздём — это тоже функция, из множества позиций в множество гвоздей.

(забить-гвоздь-в-доску {:нумер 1} :гвоздь-сотка [1 4])
;; => {:нумер 1, [1 4] :гвоздь-сотка}

какого интеллектуального уровня должен быть тот, кто его будет писать и будет выполнять?

Что тут сложного — всё чётко, прозрачно, понятно даже ёжику робату. В отличие от «приставить к нужному месту».

Исходная версия Nervous, :

забить гвоздь в доску … в функциональном виде?

Забивание гвоздя в доску — это функция из множества кортежей (доска, гвоздь, позиция) в множество досок.

(defn забить-гвоздь-в-доску
  "Возвращает доску с гвоздём, забитым в указанной позиции (в
  сантиметрах от левого верхнего угла)."
  [доска гвоздь позиция]
  (assoc доска позиция гвоздь))

Доска с забитым в неё в определённой позиции гвоздём — это тоже функция, из множества позиций в множество гвоздей.

(забить-гвоздь-в-доску {:нумер 1} :гвоздь-сотка [1 4])
;; => {:нумер 1, [1 4] :гвоздь-сотка}

какого интеллектуального уровня должен быть тот, кто его будет писать и будет выполнять?

Что тут сложного — всё чётко, прозрачно, понятно даже ёжику робату. В отличие от «приставить к нужному месту».