Elm - Типы данных
Система типов представляет различные типы значений, поддерживаемые языком. Система типов проверяет достоверность предоставленных значений, прежде чем они будут сохранены или обработаны программой. Это гарантирует, что код ведет себя так, как ожидалось. Система типов также позволяет использовать более обширные подсказки по коду и автоматическую документацию.
Elm - это язык со статической типизацией. У Elm есть типы, похожие на типы из других языков.
номер
Тип данных number представляет собой числовые значения. Система типов Elm поддерживает следующие числовые типы -
Sr. No. | Тип | пример |
---|---|---|
1 | number - хранит любое число | 7 - числовой тип |
2 | Float - сохраняет дробные значения | 7/2 дает результат 3.5 как Float |
3 | Int - хранит недробные значения | 7 // 2 дает 3 результат как Int |
Тип номер вмещает как дробные и не дробные значения. Откройте вяз 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 заключаются в одинарные кавычки".
Sr. No. | Тип | пример |
---|---|---|
1 | Строка - хранит последовательность символов | "TutorialsPoint" |
2 | Char - хранит дробные значения | 'Т' |
Откройте вяз 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
Тип данных Bool в Elm поддерживает только два значения - True и False. Ключевое слово Bool используется для представления логического значения.
Sr. No. | Тип | пример |
---|---|---|
1 | Bool - сохраняет значения True или False | 1 == 1 возвращает True |
Откройте вяз 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. Переменные payment1 и payment2 присваиваются значениям PaymentMode. Если значение, присвоенное переменной, не соответствует ни одному из значений, определенных типом PaymentMode, приложение выдаст синтаксическую ошибку.
Структурированные типы данных
Структурированные типы данных могут использоваться для хранения нескольких значений в структурированном формате. Elm поддерживает следующие типы структурированных данных -
- Tuple
- List
- Record
- Record
Они будут подробно рассмотрены в следующих главах.