Clojure(0) - Clojure and Leiningen: Up and Running

最近聽很多人說 Clojure 可以寫出簡潔的程式,想說練習一下 Functional programming 的思考方式。

1. 安裝 Leiningen:

Leiningen 是 Clojure 的專案設定套件,類似 Rust 的 Cargo。

這邊使用 SDKMAN 安裝 Leiningen。

$ sdk install leiningen

2. 新增專案:

利用指令建立 Clojure 專案,詳細指令及參數可以參考Leiningen 的 Github

$ lein new app clojure-test

可以看到 src 中產生了 clojure_test/core.clj,這個是 Leiningen 的入口程式。

.
├── CHANGELOG.md
├── doc
│   └── intro.md
├── LICENSE
├── project.clj
├── README.md
├── resources
├── src
│   └── clojure_test
│       └── core.clj
├── target
│   └── default
│       ├── classes
│       │   └── META-INF
│       │       └── maven
│       │           └── clojure-test
│       │               └── clojure-test
│       │                   └── pom.properties
│       └── stale
│           └── leiningen.core.classpath.extract-native-dependencies
└── test
    └── clojure_test
        └── core_test.clj

3. Hello world:

在專案根目錄(README那層)執行指令可以啟動 app。

$ lein run // 輸出 Hello, World!

core.clj 中的 main 為專案的入口,println 會輸出訊息。

(ns clojure-test.core
  (:gen-class))

(defn -main
  "I don't do a whole lot ... yet."
  [& args]
  (println "Hello, World!"))

留言

熱門文章