Elm - Tipe Data

Sistem Jenis mewakili berbagai jenis nilai yang didukung oleh bahasa. Sistem Jenis memeriksa validitas nilai yang diberikan, sebelum disimpan atau dimanipulasi oleh program. Ini memastikan bahwa kode berperilaku seperti yang diharapkan. Sistem Jenis lebih jauh memungkinkan untuk petunjuk kode yang lebih kaya dan dokumentasi otomatis juga.

Elm adalah bahasa yang diketik secara statis. Elm memiliki tipe yang mirip dengan bahasa lain.

Jumlah

The Nomor tipe data mewakili nilai-nilai numerik. Sistem tipe Elm mendukung tipe numerik berikut -

No Sr Tipe Contoh
1 nomor - Menyimpan nomor apa pun 7 adalah tipe angka
2 Float - Menyimpan nilai pecahan 7/2 memberikan 3.5 hasil sebagai Float
3 Int - Menyimpan nilai non-pecahan 7 // 2 memberikan 3 hasil sebagai Int

Jenis nomor mengakomodasi kedua nilai pecahan dan non-pecahan. Buka REPL elm dan coba contoh yang diberikan di bawah ini -

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 dan Char

The String tipe data yang digunakan untuk mewakili urutan karakter. The Char tipe data yang digunakan untuk mewakili satu karakter. Nilai string ditentukan dalam tanda petik ganda "dan nilai Char diapit dalam tanda petik tunggal '.

No Sr Tipe Contoh
1 String - Menyimpan urutan karakter "TutorialsPoint"
2 Char - Menyimpan nilai pecahan 'T'

Buka REPL elm dan coba contoh yang diberikan di bawah ini -

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

Tipe data Bool di Elm hanya mendukung dua nilai - True dan False. Kata kunci Bool digunakan untuk mewakili nilai Boolean.

No Sr Tipe Contoh
1 Bool - Menyimpan nilai Benar atau Salah 1 == 1 mengembalikan True

Buka REPL elm dan coba contoh yang diberikan di bawah ini -

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

Jenis Kustom

Elm mendukung pembuatan tipe yang ditentukan pengguna. Misalnya, pertimbangkan aplikasi pembayaran. Aplikasi perlu menyimpan berbagai mode pembayaran - kartu kredit, kartu debit, dan perbankan bersih. Ini dapat dicapai dengan menentukan jenis kustom dan membatasi nilainya pada tiga mode pembayaran yang dapat diterima.

Contoh berikut menunjukkan cara membuat tipe kustom.

> 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

Pada contoh di atas, kami membuat jenis kustom PaymentMode. Variabel pembayaran1 dan pembayaran2 ditetapkan ke nilai PaymentMode. Jika nilai yang ditetapkan ke variabel tidak cocok dengan nilai apa pun yang ditentukan oleh jenis PaymentMode, aplikasi akan memunculkan kesalahan sintaksis.

Jenis Data Terstruktur

Tipe data terstruktur dapat digunakan untuk menyimpan beberapa nilai dalam format terstruktur. Elm mendukung tipe data terstruktur berikut -

  • Tuple
  • List
  • Record
  • Record

Ini akan dibahas secara rinci di bab-bab selanjutnya.