iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0
自我挑戰組

從零開始的 clojure系列 第 19

Day 19 Clojure - Function- Defining Functions

  • 分享至 

  • xImage
  •  

前言

大家好,我是對於 Clojure 一無所知的菜鳥小白工程師。

今天我們要來學習 Defining Functions —— 如何定義函數。

try Clojure here: https://qa-mktg.codingrooms.com/compiler/clojure/

Define Functions

在 Clojure 中,函數的定義主要由五個主要部分組成:

  1. defn(定義函數的關鍵字)
  2. 函數名稱
  3. 描述函數的文檔字符串(Docstring)(optional)
  4. 參數在方括號中列出(Parameters and Arity)
  5. 函數主體

以下是一個函數定義的例子,以及對該函數的呼叫:

(defn too-enthusiastic
  "Return a cheer that might be a bit too enthusiastic"
  [name]
  (str "OH. MY. GOD! " name " YOU ARE MOST DEFINITELY LIKE THE BEST "
       "MAN SLASH WOMAN EVER I LOVE YOU AND WE SHOULD RUN AWAY SOMEWHERE"))

(too-enthusiastic "Zelda")
; => "OH. MY. GOD! Zelda YOU ARE MOST DEFINITELY LIKE THE BEST MAN SLASH WOMAN EVER I LOVE YOU AND WE SHOULD RUN AWAY SOMEWHERE"

在這個例子中:

  1. defn 定義函數。

  2. too-enthusiastic 是函數的名稱。

  3. "Return a cheer that might be a bit too enthusiastic" 是一個描述性文檔(docstring)。

    In programming, a docstring is a string literal specified in source code that is used, like a comment, to document a specific segment of code.( wiki

  4. 後面有一個參數 name,參數 name 在方括號中定義。

  5. 函數主體則在方括號之後,使用參數進行操作,並返回 "OH. MY. GOD! Zelda YOU ARE MOST DEFINITELY LIKE THE BEST MAN SLASH WOMAN EVER I LOVE YOU AND WE SHOULD RUN AWAY SOMEWHERE"

小結

今天我們學習了在 clojure 中如何定義一個有效的函數,再下一章節,我們將更進一步去了解什麼是「文檔字符串」(docstring) 以及「參數和參數個數」(Parameters and Arity)。

參考文章


上一篇
Day 18 Clojure - Function- Calling Function
下一篇
Day 20 Clojure - Function- Defining Functions with Docstrings, Parameters and Arity
系列文
從零開始的 clojure23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言