Skip to content

clojuredus/fizzbuzz-einsteiger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Von Null zu FizzBuzz – Clojure Einführungsprojekt

Dieses Projekt richtet sich an Clojure-Einsteiger und soll einige Grundlagen bieten, um einen Einblick in diese Programmiersprache zu bekommen.

Voraussetzungen

Es sollte Leiningen (ein Clojure Build-Tool) installiert sein.

Eine IDE deiner Wahl (IntelliJ + Cursive, Emacs + CIDER, VS Code, ...) kannst du auch verwenden, ist aber nicht zwingend notwendig.

Außerdem brauchen wir ein halbwegs aktuelles JDK.

Verwendung

Die Projektbeschreibung befindet sich src/einsteiger/core.clj. Richte deine IDE vorher ein, wenn du eine eigene verwenden möchtest. Alternativ starte die Web-IDE (siehe weiter unten).

Eigene IDE

Das Projekt kann in einer IDE deiner Wahl importiert werden. Die Konfiguration für IntelliJ + Cursive ist mit eingecheckt. Denke dran unten rechts im Editor noch "Paredit" zu "Parinfer" zu ändern, da es einen leichteren Einstieg gibt. Parinfer ordnet deine Klammern dann gemäß der Einrückung wohingegen Paredit explizite Befehle erwartet, um eine Klammer zu verschieben.

In jedem Fall solltest du prüfen, dass deine IDE ein entsprechendes Clojure Plugin liefert, damit direkt aus dem Editor heraus mit der REPL interagiert werden kann. Parinfer gibt es auch für die meisten IDEs. Sollte dir das gerade zu viel sein, kannst du unten die Web-IDE verwenden.

Web-IDE

Solltest du keine IDE mit Clojure-Support eingerichtet haben, so kann auch die integrierte Web-IDE verwendet werden. Navigiere mit dem Terminal in das Root-Verzeichnis dieses Projekts und führe folgenden Befehl aus:

lein nightlight

Das startet eine Web-IDE, die unter http://localhost:4000 aufgerufen werden kann.

Der Code befindet sich in src/einsteiger/core.clj.

Beispieleinstellungen der IDE

Am heutigen Abend verwende ich folgende IDE, Plugins und Einstellungen:

  • IntelliJ mit Cursive
  • "Parinfer" zur Verwaltung der Klammern (unten rechts einstellbar in einem Clojure-Projekt, standard ist "Paredit")
  • Farbige Klammern mit "Rainbow Parenthesis" (Einstellungen -> Languages & Framework -> Clojure)
  • Leiningen (brew install leiningen)
  • JDK 13

Keybindings

Damit man schnell Code in die REPL schieben kann, kann ich nur empfehlen folgende Key Bindings nach Belieben einzurichten. Ich habe mal dahinter geschrieben, welche Tastenkombi ich so für meine Bindings verwende:

  • Load File in REPL (Controlc, Controlk)
  • Send Form Before Caret to REPL (Controlc, Controle)
  • Send Top Form to REPL (Controlc, Controlc)

Alle Bindings befinden sich in Einstellungen -> Keymap -> Plug-Ins -> Cursive.

Weitere Tools

Weitere Aufgaben

Solltest du noch mehr Aufgaben zu Clojure haben wollen, gibt es hier weitere Links:

About

Von Null zu FizzBuzz – Clojure Einführungsprojekt

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published