Dönüş Değerleri
Coddy'nin R Journey'sinin Temeller bölümünün bir parçası — ders 48 / 78.
Şimdiye kadar, fonksiyonlarımız çıktıları doğrudan yazdırdı. Ancak çoğu zaman bir fonksiyonun bir değer hesaplamasını ve bu değeri kodunuzun başka bir yerinde kullanabilmeniz için geri göndermesini istersiniz. İşte burada dönüş değerleri (return values) devreye girer.
Fonksiyonunuzdan bir değer geri göndermek için return() fonksiyonunu kullanın:
add <- function(a, b) {
return(a + b)
}
result <- add(5, 3)
print(result)Çıktı:
[1] 8Fonksiyonun içinde yazdırmak yerine toplamı döndürürüz. Döndürülen değer daha sonra bir değişkende saklanabilir, hesaplamalarda kullanılabilir veya diğer fonksiyonlara aktarılabilir.
Bu, fonksiyonları çok daha çok yönlü hale getirir:
double <- function(x) {
return(x * 2)
}
print(double(5) + double(3))Çıktı:
[1] 16R'da, return() kullanmazsanız, fonksiyon otomatik olarak değerlendirilen son ifadeyi döndürür. Ancak, return() fonksiyonunu açıkça kullanmak kodunuzu daha anlaşılır kılar ve özellikle bir fonksiyondan erken çıkmak istediğinizde yararlıdır.
Görev
Kolaybase ve exponent adında iki argüman alan calculate_power adında bir fonksiyon oluşturun. Fonksiyon, tabanın üssü kadar kuvvetini (^ operatörünü kullanarak) döndürmelidir (return).
Girdiden iki sayı okuyun, bunları sayısal değerlere dönüştürün ve fonksiyonunuzu çağırın. Döndürülen değeri result adında bir değişkende saklayın, ardından result değerini yazdırın.
Örneğin, girdiler 2 ve 3 ise, çıktı şu şekilde olmalıdır:
[1] 8Girdiler 5 ve 2 ise, çıktı şu şekilde olmalıdır:
[1] 25Kopya kağıdı
Fonksiyonlar, return() fonksiyonunu kullanarak değerleri geri gönderebilir. Bu, sonucu bir değişkende saklamanıza veya diğer işlemlerde kullanmanıza olanak tanır:
add <- function(a, b) {
return(a + b)
}
result <- add(5, 3)
print(result) # [1] 8Döndürülen değerler doğrudan ifadelerde kullanılabilir:
double <- function(x) {
return(x * 2)
}
print(double(5) + double(3)) # [1] 16R'da, return() kullanılmazsa fonksiyonlar otomatik olarak değerlendirilen son ifadeyi döndürür. Ancak, return() fonksiyonunu açıkça kullanmak kodu daha anlaşılır hale getirir ve fonksiyonlardan erken çıkış yapılmasına olanak tanır.
Kendin dene
# Girdiyi oku
con <- file("stdin", "r")
base <- as.numeric(suppressWarnings(readLines(con, n = 1)))
exponent <- as.numeric(suppressWarnings(readLines(con, n = 1)))
# YAPILACAK: Taban ve üs alan calculate_power adında bir fonksiyon oluşturun
# ve ^ operatörünü kullanarak tabanın üssüncü kuvvetini döndürün
# YAPILACAK: Fonksiyonunuzu girdi değerleriyle çağırın ve sonucu 'result' değişkeninde saklayın
# Sonucu yazdır
print(result)Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 2
Mantıksal Operatörler (AND, OR)Mantıksal Operatörler Bölüm 2 (NOT)Özet - Basit MantıkVektörize Mantık Bölüm 1Vektörize Mantık Bölüm 27Hesap Paylaşım Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcıdan Girdi Alma10Farklı Bir FizzBuzz
Oyuna Genel BakışFizzBuzz Fonksiyonu2Değişkenler ve Veri Tipleri
Sayısal Veri TipiTam Sayı Veri TipiKarakter Veri TipiMantıksal Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıEksik Değerler: NAÖzet - Değişken Oluşturma8Döngüler
For DöngüsüWhile DöngüsüBreakNext (Continue)Özet - FaktöriyelDizi Oluşturma (seq, :)İç İçe DöngülerÖzet - Dinamik Girdi3Operatörler 1. Bölüm
Aritmetik OperatörlerTam Sayı Bölmesi ve Mod AlmaAtama OperatörleriÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel Giriş-Çıkış
Print ÇıktısıÇıktı için Cat KullanımıDeğişkenlerle Çıktı Almakreadline() ile Girdi OkumaTip Dönüşümü TemelleriÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Fonksiyonlar
Fonksiyon TanımlamaFonksiyon ArgümanlarıDönüş DeğerleriÖzet - Sigma FonksiyonuÖzet - Doğrulama FonksiyonuVarsayılan Parametre Değerleri