Elm - ประเภทข้อมูล

Type System แสดงถึงค่าประเภทต่างๆที่ภาษารองรับ Type System ตรวจสอบความถูกต้องของค่าที่ให้มาก่อนที่จะจัดเก็บหรือจัดการโดยโปรแกรม เพื่อให้แน่ใจว่าโค้ดทำงานตามที่คาดไว้ ระบบ Type ยังช่วยให้สามารถใช้คำใบ้รหัสที่สมบูรณ์ยิ่งขึ้นและเอกสารอัตโนมัติด้วย

Elm เป็นภาษาที่พิมพ์แบบคงที่ Elm มีประเภทที่คล้ายคลึงกับภาษาอื่น ๆ

จำนวน

จำนวนชนิดข้อมูลแสดงให้เห็นถึงค่าตัวเลข ระบบประเภท Elm รองรับประเภทตัวเลขต่อไปนี้ -

เลขที่ ประเภท ตัวอย่าง
1 หมายเลข - เก็บหมายเลขใด ๆ 7 คือประเภทตัวเลข
2 ลอย - เก็บค่าเศษส่วน 7/2 ให้ 3.5 ผลลัพธ์เป็น Float
3 Int - เก็บค่าที่ไม่ใช่เศษส่วน 7 // 2 ให้ 3 ผลลัพธ์เป็น Int

หมายเลขประเภทรองรับทั้งค่าเศษส่วนและค่าไม่ใช่เศษส่วน เปิด elm REPL และลองทำตามตัวอย่างด้านล่าง -

C:\Users\admin>elm repl
---- elm-repl 0.18.0 
---------------------------------------------
--------------
:help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>
------------------------------------------
--------------------------------------
> 7
7 : number
> 7/2
3.5 : Float
> 7//2
3 : Int
>

สตริงและอักขระ

Stringชนิดข้อมูลจะใช้เพื่อแสดงลำดับของตัวอักษร Charชนิดข้อมูลจะใช้เพื่อแสดงตัวเดียว ค่าสตริงถูกกำหนดภายในเครื่องหมายคำพูดคู่ "และค่าCharจะอยู่ภายในเครื่องหมายคำพูดเดียว '

เลขที่ ประเภท ตัวอย่าง
1 String - จัดเก็บลำดับของอักขระ "TutorialsPoint"
2 Char - เก็บค่าเศษส่วน 'T'

เปิด elm REPL และลองทำตามตัวอย่างด้านล่าง -

C:\Users\admin>elm repl
---- elm-repl 0.18.0 ---------------------------------------
--------------------
:help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>
--------------------------------------
------------------------------------------
> "TutorialsPoint"
"TutorialsPoint" : String
> 'T'
'T' : Char

บูล

ชนิดข้อมูล Bool ใน Elm รองรับเพียงสองค่า - จริงและเท็จ คีย์เวิร์ด Bool ใช้เพื่อแสดงค่าบูลีน

เลขที่ ประเภท ตัวอย่าง
1 Bool - เก็บค่าเป็นจริงหรือเท็จ 1 == 1 คืนค่า True

เปิด elm REPL และลองทำตามตัวอย่างด้านล่าง -

C:\Users\dell\elm>elm repl
---- elm-repl 0.18.0 -----------------------------------
------------------------
:help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>
----------------------------------------
----------------------------------------
> True
True : Bool
> False
False : Bool
> 1==1
True : Bool
> 1==2
False : Bool
> 1 /= 2 -- not equal
True : Bool
> not True
False : Bool
> not False
True : Bool

ประเภทที่กำหนดเอง

Elm สนับสนุนการสร้างประเภทที่ผู้ใช้กำหนด ตัวอย่างเช่นพิจารณาใบสมัครการชำระเงิน แอปพลิเคชันต้องการจัดเก็บรูปแบบการชำระเงินที่แตกต่างกัน - บัตรเครดิตบัตรเดบิตและธนาคารสุทธิ สิ่งนี้สามารถทำได้โดยการกำหนดประเภทที่กำหนดเองและ จำกัด มูลค่าไว้ที่สามโหมดการชำระเงินที่ยอมรับได้

ตัวอย่างต่อไปนี้แสดงวิธีสร้างประเภทที่กำหนดเอง

> type PaymentMode = CreditCard|NetBanking|DebitCard
> payment1 = CreditCard
CreditCard : Repl.PaymentMode
> payment2 = DebitCard
DebitCard : Repl.PaymentMode
> payment3 = UPI
-- NAMING ERROR ---------------------------------------------- repl-temp-000.elm

Cannot find variable `UPI`

7| payment3 = UPI

ในตัวอย่างข้างต้นเราได้สร้างประเภท PaymentMode ที่กำหนดเอง ตัวแปรการชำระเงิน 1 และการชำระเงิน 2 ถูกกำหนดให้กับค่าโหมด PaymentMode หากค่าที่กำหนดให้กับตัวแปรไม่ตรงกับค่าใด ๆ ที่กำหนดโดยประเภท PaymentMode แอปพลิเคชันจะแสดงข้อผิดพลาดทางไวยากรณ์

ประเภทข้อมูลที่มีโครงสร้าง

ประเภทข้อมูลที่มีโครงสร้างสามารถใช้เพื่อจัดเก็บค่าหลายค่าในรูปแบบที่มีโครงสร้าง Elm รองรับประเภทข้อมูลที่มีโครงสร้างดังต่อไปนี้ -

  • Tuple
  • List
  • Record
  • Record

สิ่งเหล่านี้จะกล่าวถึงโดยละเอียดในบทต่อ ๆ ไป