Clojure - ประเภทข้อมูล
Clojure นำเสนอไฟล์ built-in data types.
ประเภทข้อมูลในตัว
ต่อไปนี้เป็นรายการประเภทข้อมูลที่กำหนดไว้ใน Clojure
Integers - ต่อไปนี้เป็นตัวแทนของจำนวนเต็มที่มีอยู่ใน Clojure
Decimal Integers (Short, Long and Int)- ใช้แทนจำนวนเต็ม ตัวอย่างเช่น 1234
Octal Numbers- ใช้แทนตัวเลขในการแทนค่าฐานแปด ตัวอย่างเช่น 012
Hexadecimal Numbers- ใช้เพื่อแสดงตัวเลขในการแทนค่า ตัวอย่างเช่น 0xff
Radix Numbers- ใช้เพื่อแสดงตัวเลขในการแทนค่ารัศมี ตัวอย่างเช่น 2r1111 โดยที่ radix เป็นจำนวนเต็มระหว่าง 2 ถึง 36 รวมอยู่ด้วย
Floating point
ค่าเริ่มต้นใช้เพื่อแสดงตัวเลขทศนิยม 32 บิต ตัวอย่างเช่น 12.34
การแสดงอื่น ๆ คือสัญกรณ์ทางวิทยาศาสตร์ ตัวอย่างเช่น 1.35e-12
char- สิ่งนี้กำหนดลิเทอรัลอักขระเดียว อักขระถูกกำหนดด้วยสัญลักษณ์ฟันเฟือง ตัวอย่างเช่น / e.
Boolean - แสดงถึงค่าบูลีนซึ่งอาจเป็นจริงหรือเท็จก็ได้
String- เหล่านี้เป็นตัวอักษรที่แสดงในรูปแบบของตัวอักษร ตัวอย่างเช่น“ Hello World”
Nil - ใช้เพื่อแสดงค่า NULL ใน Clojure
Atom- อะตอมเป็นวิธีจัดการสถานะที่ใช้ร่วมกันซิงโครนัสและเป็นอิสระ เป็นประเภทอ้างอิงเช่น refs และ vars
ค่านิยม
เนื่องจากประเภทข้อมูลทั้งหมดใน Clojure สืบทอดมาจาก Java ค่าขอบเขตจึงเหมือนกับในภาษาโปรแกรม Java ตารางต่อไปนี้แสดงค่าสูงสุดที่อนุญาตสำหรับตัวอักษรตัวเลขและทศนิยม
| ตัวอักษร | ช่วง |
|---|---|
| สั้น | -32,768 ถึง 32,767 |
| int | -2,147,483,648 ถึง 2,147,483,647 |
| ยาว | -9,223,372,036,854,775,808 ถึง +9,223,372,036,854,775,807 |
| ลอย | 1.40129846432481707e-45 ถึง 3.40282346638528860e + 38 |
| สองเท่า | 4.94065645841246544e-324d ถึง 1.79769313486231570e + 308d |
ประเภทตัวเลขของคลาส
นอกจากประเภทดั้งเดิมแล้วยังอนุญาตให้ใช้ประเภทออบเจ็กต์ต่อไปนี้ (บางครั้งเรียกว่าประเภท wrapper)
| ชื่อ |
|---|
| java.lang Byte |
| java.lang. สั้น |
| java.lang.Integer |
| java.lang.Long |
| java.lang.Float |
| java.lang.Double |
ตัวอย่าง
โปรแกรมต่อไปนี้แสดงโค้ด clojure รวมเพื่อสาธิตชนิดข้อมูลใน Clojure
(ns clojure.examples.hello
(:gen-class))
;; This program displays Hello World
(defn Example []
;; The below code declares a integer variable
(def x 1)
;; The below code declares a float variable
(def y 1.25)
;; The below code declares a string variable
(def str1 "Hello")
(println x)
(println y)
(println str1))
(Example)
เอาต์พุต
โปรแกรมข้างต้นสร้างผลลัพธ์ต่อไปนี้
1
1.25
Hello