enum HaftaKuni {
case dushanba
case seshanba
case chorshanba
case payshanba
case juma
case shanba
case yakshanba
}
let bugun = HaftaKuni.juma
print(bugun) // Натижа: juma
enum ObHavo {
case quyoshli(derece: Int)
case yomg'irli(yog'ingarchilik: Double)
case shamolli(teizlik: Int)
}
let bugungiObHavo = ObHavo.quyoshli(derece: 25)
switch bugungiObHavo {
case .quyoshli(let derece):
print("Бугун қуёшли, температура: \(derece)°C")
case .yomg'irli(let yog'ingarchilik):
print("Ёмғирли, ёғингарчилик: \(yog'ingarchilik) мм")
case .shamolli(let tezlik):
print("Шамолли, тезлик: \(tezlik) км/с")
}
// Натижа: Бугун қуёшли, температура: 25°C
enum Yo'nalish: String {
case shimol = "Північ"
case janub = "Південь"
case sharq = "Схід"
case g'arb = "Захід"
}
let yo'nalish = Yo'nalish.shimol
print(yo'nalish.rawValue) // Натижа: Північ
enum TransportHolati {
case ishlayapti
case to'xtabTuribdi
case ta'mirda
}
func holatniTekshir(_ holat: TransportHolati) {
switch holat {
case .ishlayapti:
print("Транспорт ишламоқда.")
case .to'xtabTuribdi:
print("Транспорт тўхтаб турибди.")
case .ta'mirda:
print("Транспорт таъмирда.")
}
}
let mashinaHolati = TransportHolati.ta'mirda
holatniTekshir(mashinaHolati) // Натижа: Транспорт таъмирда.
class Person:
def __init__(self, ism, yosh):
self.ism = ism # Очиқ хусусият
self._yosh = yosh # "Protected" хусусият
self.__maosh = 5000 # "Private" хусусият
def get_maosh(self): # Private хусусиятга кириш учун метод
return self.__maosh
def set_maosh(self, yangi_maosh): # Private хусусиятни ўзгартириш
if yangi_maosh > 0:
self.__maosh = yangi_maosh
# Тест қилиш
shaxs = Person("Олексій", 25)
print(shaxs.ism) # Натижа: Олексій
print(shaxs._yosh) # Натижа: 25 (лекин бу тавсия этилмайди)
# print(shaxs.__maosh) # Хатолик: AttributeError
print(shaxs.get_maosh()) # Натижа: 5000
shaxs.set_maosh(6000)
print(shaxs.get_maosh()) # Натижа: 6000
class Student:
def __init__(self, ism):
self.__ism = ism
@property
def ism(self):
return self.__ism
@ism.setter
def ism(self, yangi_ism):
if isinstance(yangi_ism, str) and len(yangi_ism) > 0:
self.__ism = yangi_ism
else:
print("Хато: Исм тўғри бўлиши керак!")
# Тест қилиш
talaba = Student("Марія")
print(talaba.ism) # Натижа: Марія
talaba.ism = "Анна" # Setter ишлайди
print(talaba.ism) # Натижа: Анна
talaba.ism = "" # Натижа: Хато: Исм тўғри бўлиши керак!
class
, після якого йде ім'я класу. Наприклад:constructor
:1class Person {
2 var name: String
3 var age: Int
4
5 constructor(name: String, age: Int) {
6 this.name = name
7 this.age = age
8 }
9}
10
val
для незмінних властивостей і var
для змінних.1class Person(var name: String, var age: Int) {
2 fun displayInfo() {
3 println("Name: $name, Age: $age")
4 }
5}
6
open
перед оголошенням класу:interface
, і він може містити методи, які не мають реалізації:Product
з властивостями та методами, які будуть корисними:1class Product(var name: String, var price: Double) {
2 fun display() {
3 println("Product Name: $name, Price: $price")
4 }
5}
6
1fun main() {
2 val product1 = Product("Laptop", 999.99)
3 val product2 = Product("Phone", 499.99)
4
5 product1.display()
6 product2.display()
7}
8
for
. Якщо ви коли-небудь задавалися питанням, як автоматизувати повторювані дії у коді, то ви потрапили за адресою! Давайте розберемося, чому цикли настільки корисні та як їх використовувати.for
в Ruby. Це досить просто, і я впевнений, що ви швидко його освоїте.for
у Ruby виглядає так:i
.for
у Ruby.for
також чудово працюють із масивами. Уявіть, що у вас є масив імен, і ви хочете всіх їх вивести. Це можна зробити так:for
— це тільки один з видів циклів. Давайте подивимося, як він порівнюється з іншими.while
повторюється доти, поки умова є істинною. Ось приклад:for
, але використовує інший підхід.until
працює в зворотному напрямку: він виконується доти, поки умова є хибною.i
стане більше 5, цикл завершиться.for
можуть бути дуже корисними, але є кілька поширених помилок, яких слід уникати.3
не існує в масиві.for
у Ruby — це потужний інструмент, який допомагає автоматизувати повторювальні завдання. Ви можете просто й ефективно ітерувати через масиви та колекції, завдяки чому ваша програма стає чистішою і зрозумілішою. Закликаю вас випробувати ці концепції у власних проектах!for
виконується для заданої кількості ітерацій, тоді як цикл while
продовжує виконуватись доти, поки умова є істинною.break
і next
, щоб перервати цикл або перейти до наступної ітерації.each
, map
, select
, щоб зменшити складність коду і зробити його більш читабельним.=
— це оператор присвоювання, який призначає значення змінній. Наприклад:x
і присвоюємо їй значення 5
.=
, але в JavaScript також існують альтернативні способи присвоєння значень, про які ми поговоримо далі.+=
додає значення до змінної:-=
працює аналогічно, але віднімає значення від змінної:1let fruits = ["яблуко", "банан"];
2fruits.push("апельсин"); // Додаємо "апельсин"
3console.log(fruits); // Виведе: ["яблуко", "банан", "апельсин"]
4
1let person = {
2 name: "Олена",
3 age: 25
4};
5
6person.age = 26; // Оновлюємо вік
7console.log(person.age); // Виведе: 26
8
1let score = 10;
2score = 15; // Це може бути помилкою, якщо треба було зберегти старе значення
3
=
.+=
додає значення до існуючої змінної. Наприклад, x += 5
еквівалентно x = x + 5
.ReferenceError
, оскільки JavaScript не знає, що таке ця змінна.myArray
, який може зберігати 5 цілих чисел.1for index, value := range myArray {
2 fmt.Println("Індекс:", index, "Значення:", value)
3}
4
for
, щоб перебрати всі елементи масиву myArray
. Змінна index
міститиме позицію елемента, а value
— його значення. Це дуже зручно!1// Створення нового масиву з доданим елементом
2newArray := append(myArray[:], 6) // Додаємо 6
3fmt.Println(newArray) // Виведе: [1 2 3 4 5 6]
4
sort
.1import "sort"
2
3numbers := []int{5, 3, 4, 1, 2}
4sort.Ints(numbers) // Сортуємо масив за зростанням
5fmt.Println(numbers) // Виведе: [1 2 3 4 5]
6
var myArray [5]int
.for
з діапазоном: for index, value := range myArray
.