iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0
自我挑戰組

從零開始的 clojure系列 第 9

Day 9 Clojure - The Immutable for Data Structures

  • 分享至 

  • xImage
  •  

前言

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

在接下來的幾個章節,我們將會學習 Clojure 的資料結構,小白會先介紹比較好理解的資料型態(如數字、字串),再介紹比較雜的資料結構。

今天的重點,則是有關 Clojure 資料結構學習的一個重要概念——不可變性(Immutable

Data structure

In computer science, a data structure is a data organization, management, and storage format that is usually chosen for efficient access to data. (wiki)

在電腦科學中,資料結構(data structure)是電腦中儲存、組織資料的方式。Clojure 提供了一系列的資料結構,讓我們可以有效地管理這些信息。

Immutable

首先,Clojure 的一個重要概念,Clojure 的資料結構是「不可變的」(immutable),這代表當我們建立了一個資料,就無法在後面改變它。

舉個例子,假設我們有一個列表包含了三個角色的名字,但我們無法像其他程式語言中那樣直接更改第一個名字。如下 Ruby 的例子中,我們可以將第一個名字由 "Larry Potter" 變為 "Gary Potter",但在Clojure中無法這麼做:

# ruby

failed_protagonist_names = [
  "Larry Potter",
  "Doreen the Explorer",
  "The Incredible Bulk"
]
failed_protagonist_names[0] = "Gary Potter"

failed_protagonist_names
# => [
#   "Gary Potter",
#   "Doreen the Explorer",
#   "The Incredible Bulk"
# ]

Clojure 不同於其他語言,比如跟 Ruby 比較,它在處理資料時有一些獨特的方式。這種不同是基於一些設計的理念,但我們現在只需關注如何使用 Clojure 處理資料。

小結

總之,Clojure 它提供了一些特殊的方式來處理資料。它強調了資料的不可變性,這有助於編寫更穩定和可靠的程式碼。儘管有一些特殊的設計理念,但這不應該妨礙我們學習如何使用 Clojure 的基本功能。

在下一章節,我們將從簡單的資料型態——數字(Numbers) 開始學起!

參考文章


上一篇
Day 8 Clojure - Naming Values with def
下一篇
Day 10 Clojure - Data Structures - Numbers
系列文
從零開始的 clojure23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言