Ro'yxatlar
Dart yoki enumdagi sanab o'tilgan doimiy qiymatlar to'plamini ifodalovchi maxsus sinf turini ifodalaydi. Enum kalit so'zi raqamni aniqlash uchun ishlatiladi. Masalan, eng oddiy sanabni aniqlaymiz:
1
2
3
4
5
6
7
8
9
10
11
|
enum Operation{
add,
subtract,
multiply
}
void main (){
print(Operation.multiply); // Operation.multiply
print(Operation.multiply.index); // 2
}
|
Bunday holda, Operatsiya ro'yxati aniqlanadi. Hisoblash konstantalari sanab blokida keltirilgan. Bunday holda, Operatsiyani qayta tayinlash uchta doimiyga ega: qo'shish, ayirish va ko'paytirish.
Sanoq konstantalariga murojaat qilish uchun sanab nomini va nuqta bilan ajratilgan doimiyni belgilang:
1
|
print(Operation.multiply);
|
Agar biz konsolga doimiyning qiymatini chiqarishga harakat qilsak, biz uning nomini ko'ramiz - "Operation.multiply". Biroq, har bir konstanta raqamli indeks bilan ham bog'langan bo'lib, biz uni indeks maydoni orqali olishimiz mumkin (Operation.multiply.index). Demak, bu holda Operation.multiply doimiysi 2 ga teng indeksga ega, chunki u sanab o‘tishda tartib bilan uchinchi bo‘lib aniqlanadi. Birinchi doimiy (bu holda, qo'shing) indeks 0 da, ikkinchisi 1 indeksda va hokazo.
Har bir enum aslida yangi ma'lumotlar turini belgilaydi. Keyin, dasturda biz ushbu turdagi o'zgaruvchini aniqlashimiz va undan foydalanishimiz mumkin:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
enum Operation{
add,
subtract,
multiply
}
void main (){
// создаем переменную перечисления Operation
Operation op;
// присваиваем значение
op = Operation.add;
print(op); // Operation.add
print(op.index); // 0
}
|
Bunday o'zgaruvchining qiymati ushbu ro'yxatga olishning doimiylaridan biridir.
Odatda, ro'yxatga olish o'zgaruvchisi ba'zi harakatlar bajarilishiga qarab davlat do'koni vazifasini bajaradi. Shunday qilib, keling, haqiqiyroq misol yordamida sanab o'tishdan foydalanishni ko'rib chiqaylik:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
enum Operation{
add,
subtract,
multiply
}
void main (){
// Тип операции задаем с помощью константы Operation.add
runOperation(10, 5, Operation.add);
// Тип операции задаем с помощью константы Operation.multiply
runOperation(11, 5, Operation.multiply);
}
void runOperation(int x, int y, Operation op)
{
int result = 0;
switch (op){
case Operation.add:
result = x + y;
break;
case Operation.subtract:
result = x - y;
break;
case Operation.multiply:
result = x * y;
break;
}
print("Результат операции равен $result");
}
|
Bu yerda runOperation funksiyasi parametr sifatida ikkita raqam va operatsiya turini oladi. Asosiy funktsiya runOperation-ni ikki marta chaqiradi, ikkita raqam va operatsiya turini oladi.
Dasturning konsol chiqishi:
Результат операции равен 15
Результат операции равен 55
Do'stlaringiz bilan baham: |