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