Ekleme A: Anahtar Sözcükler
Aşağıdaki listede bulunan anahtar sözcükler Rust dilinde şu anda ya da gelecekte kullanılacağı için rezerve edilmiştir. Bu nedenle tanımlayıcı olarak kullanılamazlar. (“Ham Tanımlayıcılar” kısmında tartışacağımız tanımlayıcılar hariç), isimleri dahil olmak üzere fonksiyonlar, değişkenler, parametreler, yapı girdileri, modüller, kasalar, değişmezler, makrolar, statik değerler, öznitelikler, türler, tanımlar ya da ömürlükleri kapsar.
Şu anda Kullanılan Anahtar Sözcükler
Aşağıdaki anahtar sözcükler açıklanan işlevselliklere sahiptir.
as- ilkel dönüşüm yapmak, belirli özelliğin türünün belirsizliğini gidermek, ya da kullanımdakiuseveextern crateifadelerini yeniden adlandırmak için kullanılırasync- şu andaki ipliği bloklamak yerineFuturedöndürürawait-Future'ın sonucu hazır olana kadar çağrıları sustururbreak- döngüden çıkarconst- değişmez öğeleri veya sabit işaretçileri tanımlarcontinue- sonraki döngü yineleyiciyle devam ettirircrate- makroda tanımlanan bir kasa değişkenini ya da harici kasayı bağlardyn- bir tanım nesnesine dinamik olarak gönderirelse-ifya daif letkontrol akış yapılarının B planını uygularenum- numaralandırılmış yapı tanımlarextern- harici bir kasayı, fonksiyonu ya da değişkeni bağlarfalse- Boole yanlış değişmezifn- fonksiyon ya da fonksiyon işaretçi türünü tanımlarfor- bir yineleyici üzerinde öğeler kadar döngü yapar, tanım uygular ya da yüksek dereceli ömürlüğü belirtirif- koşullu bir ifadenin sonucuna dayalı dal oluştururimpl- var olan veya tanımsal işlevselliğini süreklerin-fordöngüsünün söz diziminin bir parçasılet- değişken atarloop- koşulsuz döngüye girermatch- modelleri kullanarak değer eşleştirirmod- modül tanımlarmove- bir kapanış yaparak tüm yakalamalarının sahipliğini alırmut- referanslarda, işaretçilerde ya da model atamalarında değişmemezliği belirtirpub- yapı alanlarında,implbloklarında ya da modüllerde genel görünümlüğü belirtirref- referansla atarreturn- fonksiyondan döndürürSelf- tanımladığımız ya da süreklediğimiz bir tür için takma adself- halihazırdaki modül belirtecistatic- program çalıştığından beri tutulan genel değişken ya da ömürlükstruct- yapı tanımlarsuper- halihazırdaki modülün bulunduğu ana modül belirtecitrait- tanım tanımlartrue- Boole doğru değişmezitype- bir tür takma adı veya ilişkili tür tanımlarunion- birlik tanımlar ve sadece birlik tanımlarken bir anahtar sözcük görevi görürunsafe- güvensiz kodlar, fonksiyonlar, tanımlar ya da süreklemeleri belirtiruse- sembolleri kapsama alırwhere- bir türü sınırlayan tümceleri belirtirwhile- bir ifadenin sonucuna göre çalışan koşullu döngü tanımlar
Gelecekte Kullanım için Ayrılmış Anahtar Kelimeler
Aşağıdaki anahtar kelimelerin herhangi bir işlevi yoktur, ancak gelecekteki potansiyel kullanımdan dolayı Rust tarafından ayrılmıştır.
abstractbecomeboxdofinalmacrooverrideprivtrytypeofunsizedvirtualyield
Ham Tanımlayıcılar
Ham tanımlayıcılar normalde kullanılmayacakları yerlerde kullanmanıza izin veren söz dizimidir özelliğidir.
Anahtar sözcüğünüzün başına r# koyarak ham işaretçileri kullanabilirsiniz.
Örneğin, match bir anahtar sözcüktür. Eğer fonksiyonunuz ad olarak match kullandığında onu derlemeye çalışırsanız:
Filename: src/main.rs
fn match(needle: &str, haystack: &str) -> bool {
haystack.contains(needle)
}
şu hatayı alırsınız:
error: expected identifier, found keyword `match`
--> src/main.rs:4:4
|
4 | fn match(needle: &str, haystack: &str) -> bool {
| ^^^^^ expected identifier, found keyword
Bu hata size match'i fonksiyon adı olarak kullanamayacağınızı gösterir.
match'i fonksiyon adı kullanmak için ham tanımlayıcı söz dizimini kullanmanız gerekir, aynı bunun gibi:
Filename: src/main.rs
fn r#match(needle: &str, haystack: &str) -> bool { haystack.contains(needle) } fn main() { assert!(r#match("foo", "foobar")); }
Bu kod hatasız derlenir. Not olaraktan, r# öneki main adıyla anılan
özel fonksiyon için de kullanılabilir.
Ham tanımlayıcılar sizi hangi sözcüğü kullanacağınız konusunda özgür tutar. Ekleme olaraktan,
ham işaretçiler kasanızın kullandığından farklı Rust sürümünü kullanan kütüphaneleri kullanmanıza izin verir.
Örnek olarak, try 2015 sürümünde bir anahtar sözcük değildi, 2018 sürümünde geldi.
Eğer 2015 sürümünü kullanan bir kütüphaneniz varsa ve bu kütüphane try diye bir fonksiyona sahipse, 2018
sürümünde bu fonksiyonu çağırabilmeniz için ham tanımlayıcılar kullanmanız gerekir.
Sürümler hakkında daha fazla bilgiye erişmek için Ekleme
E bölümüne göz atabilirsiniz.