0 Daumen
129 Aufrufe

Frage:

Dieser Codeschnippsel tut nicht, was er suggeriert. Welche suspekten "Techniken" werden hier verwendet?
(1) Gruppieren von zwei Anweisungen in einem do
(2) def in def (Redefinition von globalen Bezeichnern)
(3) Verwendung veränderlicher Datenstrukturen
(4) Vermeiden von higher-order Functions
(5) nur ein Parameter an die Funktion


Ich bin ein wenig am verzweifeln. Haben diese Aufgabe gestellt bekommen in einem Clojure Kurs.

Alle Antwortmöglichkeiten, die ich als sinnvoll betrachtet habe sind falsch.

Das gruppieren von zwei Anweisungen in einem do würde ich nicht als suspekt bezeichenen.

Redefinition von globalen Bezeichnern sollte man natürlich vermeiden sowie veränderliche Datenstrukturen, da man Zustand vermeiden will.

Das Vermeiden von higher-order functions würd ich auch nicht unbedingt als suspekt bezeichnen.

Genau so wie nur einen Parameter an eine Funktion zu übergeben.


Übersehe ich irgendwas?


Code:

(defn my-fancy-function [coll]
(def result [])
(def x 0)
(for [element coll]
  (do
    (def result (conj result (* element x)))
    (def x (inc x))))
result)

Avatar von

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

0 Daumen
1 Antwort
0 Daumen
0 Antworten
0 Daumen
1 Antwort

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community