Menu
Coddy logo textTech

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

challenge icon

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 girdi

Göreviniz:

  1. Girdiden ilk sayıyı okuyun ve bir değişkende saklayın
  2. Girdiden ikinci sayıyı okuyun ve başka bir değişkende saklayın
  3. Her iki değişkeni de (sayısal hesaplamalar için) number türüne dönüştürün
  4. Bu iki sayının çarpımını hesaplayın
  5. 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 toplama

Birden fazla girdi:

var1 = io.read()
var2 = io.read()

Kendin dene

quiz iconKendini test et

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