Rust Kod Örnekleri - Faktöriyel Alma

RageUnseen

Adanmış Üye
29 Ağu 2015
6,882
240
İstanbul
rust-programlama-dili.jpg


Merhaba Dünya

Her programlama dilinin olmazsa olmazı olan “Merhaba Dünya!” örneği, Rust dilinde println!fonksiyonu kullanılarak yazılır.

Kod:
fn main() {
    println!(“Merhaba Dünya!”);
}

Faktöriyel Alma

Bir sayının, sürekli kendisinin bir eksiği ile çarpılarak oluşan faktör kavramı Rust’ta birçok şekilde yapılabilir.

Kod:
fn faktoriyel(sayi: u64) -> u64 {
    match i {
        0 => 1,
        sayi => sayi * faktoriyel(sayi – 1)
    }
}

C++’da ise aynı kodun karşılığı aşağıdaki gibi yer alacaktır:

Kod:
long faktoriyel(long sayi) {
    if (sayi == 0)
        return 1;
    else
        return sayi * faktoriyel(sayi – 1);
}

Rust’ta if yerine switch muadili olan match kullanıldı ve return ifadeleri olmadan fonksiyondan değer geri dönüşü gerçekleştirildi.

Tekrarlamalı (iterative) Faktöriyel Alma

Rust’ta for döngüsü kullanılarak iteratif faktöriyel alınabilir:

Kod:
fn faktoriyel(sayi: u64) -> u64 {
    let mut toplam = 1;
    for i in 2..=sayi {
        toplam *= i;
    }
    toplam
}

C++’ta ise aşağıdaki gibidir:

Kod:
long faktoriyel(long n)
{
    long toplam = 1;
    for (int i = 1; i <= n; i++)
        toplam = toplam * i;
    return toplam;
}

C++’ın aksine Rust’ta değişkenler immutable oldukları için toplam değişkenini mut kelimesi kullanarak oluşturmak gerekiyor.

Iterator Kullanarak Faktöriyel Alma

Rust’ta iterator kullanarak faktöriyel işlem yapma bu kadar basittir:

Kod:
fn faktoriyel(sayi: u64) -> u64 {
    (sayi..=i).product()
}

Alıntıdır

 
Son düzenleme:

erman147

Katılımcı Üye
3 Kas 2013
949
0
YALNIZLIK
Bunlar hep rusyanın oyunları hocam c# a geçiş yapın :D Şaka bir yana Elinize emeğinize sağlık hocam bir lisan bir insan.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.