O’zgaruvchi — dasturlashning eng bazaviy tushunchasi. Ruby’da o’zgaruvchi dinamik tipizatsiyalangan — uning turini oldindan e’lon qilish shart emas, u qiymatdan o’zi aniqlanadi.
O’zgaruvchi — xotiraning nomlangan qismi bo’lib, unda qiymat saqlanadi. Ruby’da o’zgaruvchining turi yozilmaydi va kerak bo’lsa boshqa turdagi qiymat bilan qayta yozilishi mumkin.
O’zgaruvchi e’lon qilish
Ruby’da o’zgaruvchi shunchaki nom = qiymat shaklida yaratiladi — tur ko’rsatilmaydi:
ism = "Master Sherkulov"
yosh = 30
narx = 15000.50
puts ism
puts yosh
puts narx
Master Sherkulov
30
15000.5
Interpretator qiymatga qarab turini o’zi aniqlaydi: "Master Sherkulov" — satr (String), 30 — butun son (Integer), 15000.50 — kasr son (Float).
Qiymatni qayta yozish
O’zgaruvchiga istalgan vaqtda yangi qiymat berish mumkin, hatto boshqa turdagi bo’lsa ham:
malumot = 100
puts malumot
malumot = "endi matn"
puts malumot
100
endi matn
Dastlab malumot butun son edi, keyin unga satr biriktirildi — Ruby bunga to’sqinlik qilmaydi. Bu qulaylik, ammo ehtiyotsizlik xatolarga olib kelishi mumkin, shuning uchun o’zgaruvchining mazmunini aniq bilib turish muhim.
Nomlash qoidalari
O’zgaruvchi nomi kichik harf yoki pastki chiziq (_) bilan boshlanadi, odatda snake_case uslubida yoziladi:
foydalanuvchi_ismi = "Farrux"
maxsulot_narxi = 25000
puts "#{foydalanuvchi_ismi}: #{maxsulot_narxi} so'm"
Farrux: 25000 so'm
Ko’p so’zli nomlar pastki chiziq bilan ajratiladi (foydalanuvchi_ismi), CamelCase esa Ruby’da klass nomlari uchun ajratib qo’yilgan.
Bir nechta o’zgaruvchini birgalikda e’lon qilish
Ruby’da bir necha o’zgaruvchiga bir qatorda qiymat berish mumkin — bu qiymatlarni almashtirishda ham foydali:
a, b, c = 5, 10, 15
puts a + b + c
a, b = b, a
puts "a=#{a}, b=#{b}"
30
a=10, b=5
a, b = b, a — ikkita o’zgaruvchi qiymatini vaqtinchalik o’zgaruvchisiz, bitta qatorda almashtiradi. Bu Ruby’ning ixcham sintaksisiga xos qulayliklardan biri.