Tip Dönüşümü
Coddy'nin Lua Journey'sinin Fundamentals bölümünün bir parçası — ders 32 / 90.
Girdiyi farklı bir türe dönüştürmek için cast etmemiz (tür dönüşümü yapmamız) gerekir.
Bir string'i sayıya dönüştürmek için şunu yazacağız:
var = io.read()
var = tonumber(var)Veya tek satırda,
var = tonumber(io.read())Eğer girdi bir sayıysa, yani 5, 4, 54 ise, var bir sayı tutacaktır. Eğer girdi geçersiz bir sayı içeriyorsa: 5ab, bb, akt, vb. o zaman tonumber() nil döndürecektir.
Farklı türlere nasıl dönüştürme yapılacağını gösteren bir tablo aşağıdadır:
| Tür Dönüşümü | Açıklama |
| tonumber() | Bir sayıya dönüştür |
| tostring() | Bir dizeye dönüştür |
Doğru türü kullanmak önemlidir çünkü çıktıyı etkileyebilir.
İki dizginin birleştirilmesi şunla sonuçlanır:
"5" .. "5" = "55"
İki sayının toplanması şu sonucu verecektir:
5 + 5 = 10
Görev
BaşlangıçBu görevde, birden fazla girdiyle çalışacak ve hesaplamalar yapacaksınız.
Birden fazla girdi nasıl alınır:
var1 = io.read() -- İlk girdi
var2 = io.read() -- İkinci girdiGöreviniz:
- Girdiden ilk sayıyı okuyun ve bir değişkende saklayın
- Girdiden ikinci sayıyı okuyun ve başka bir değişkende saklayın
- Her iki değişkeni de (sayısal hesaplamalar için) number türüne dönüştürün
- Bu iki sayının çarpımını hesaplayın
- Sonucu yazdırın
Örnek:
Eğer girdiler 2 ve 4.5 ise, programınızın çıktısı 9.0 olmalıdır
Unutmayın: Her test durumu, birbiri ardına tam olarak iki girdi içerir.
Kopya kağıdı
Lua'da Tür Dönüşümü (Casting):
-- Dizeyi sayıya dönüştür
var = tonumber(io.read())
-- Dizeye dönüştür
var = tostring(io.read())
-- tonumber geçersiz girdi için nil döndürür
var = tonumber("abc") -- var nil'dirÖnemli: Dizeleri birleştirmek onları yan yana getirir, sayıları toplamak ise aritmetik işlem gerçekleştirir:
"5" .. "5" = "55" -- Dize birleştirme
5 + 5 = 10 -- Sayısal toplamaBirden fazla girdi:
var1 = io.read()
var2 = io.read()Kendin dene
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Fundamentals bölümündeki tüm dersler
4Operatörler 2 İlişkisel ve Mantıksal
Eşitlik Operatörleriİlişkisel Operatörler'and' Operatörü'or' Operatörü'not' OperatörüKısa Devre DeğerlendirmesiTruthy ve Falsy DeğerlerÖzet - Basit Mantık10Tablolar Bölüm 1: Liste Stili
Tablo Nedir?Tablo Oluşturmaİndeks ile Elemanlara Erişmeİndeks ile Elemanları DeğiştirmeUzunluk Operatörü '#'table.insert()table.remove()Özet - Parti Üyelerini Yönetme13Proje: Basit İksir Dükkanı
Proje Kurulumuİksir Ekleme2Değişkenler ve Veri Tipleri
Değişken Nedir?SayılarStringlerBooleanlar'nil' Değeritype() Fonksiyonuİsimlendirme KurallarıÖzet - Karakter Profili5Temel Çıktı
Sabitleri YazdırmaDeğişkenleri YazdırmaBirden Fazla Değer YazdırmaMetinleri ve Değişkenleri Birleştirmetostring() FonksiyonuGirdiTip DönüşümüÖzet - Durum RaporuÖzet - 120'ye Kadar8String Manipülasyonu Temelleri
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Özet - Kullanıcı Adı Biçimlendirme3Operatörler 1 Aritmetik ve Birleştirme
Aritmetik OperatörlerMod Alma OperatörüÜs Alma OperatörüString BirleştirmeOperatör ÖnceliğiÖzet - Basit Hesaplamalar6Proje: Karakter İstatistiklerini Görüntüleme
Hoş Geldiniz MesajıKarakter İstatistiklerini Tanımlama9Fonksiyon Temelleri
Fonksiyon TanımlamaFonksiyon ÇağırmaParametreli FonksiyonlarÇoklu Parametreli Fonksiyonlar'return' İfadesiÖzet - Alan Hesaplayıcı