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
สิ่งเหล่านี้จะกล่าวถึงโดยละเอียดในบทต่อ ๆ ไป