İfade, değerlendirildiğinde bir sonucu olan en küçük kod birimidir. Verse’te her şey bir ifadedir, yani her şey bir değer olarak değerlendirilir.
Verse’te ifade bloklarının içeriğine bağlı bir değer olarak hesaplanan if ... else
ifadesi bunun bir örneğidir. Aşağıdaki kod, MyNumber
değerinin 5’ten büyük olup olmamasına bağlı olarak “Big!” veya “Small!” ifadesini içeren bir dize değeri olarak hesaplanır:
if (MyNumber > 5):
“Big!”
else
“Small!”
Yani if ... else
değerini bir sonuç depolamak ve o sonucu girdi olarak kullanmak yerine doğrudan işlevlerin girdisi olarak kullanabilirsin.
Bu örnek basit olsa da bunun daha güçlü hale geldiği bağlamlar vardır. Örneğin, döngüler değer dizileri olarak değerlendirilir, böylece mevcut dizileri temel alarak yeni dizileri hızla oluşturabilirsin.
Aşağıdaki kodda MyArray
, 5’ten küçük olan tüm NumberArray
değerlerini içerir.
MyArray : []int = for(Number := NumberArray, Number < 5):
Sayı
Başarısız Olabilir İfadeler
Başarısız olabilir ifade, başarılı olup bir değer üretebilen veya başarısız olup hiçbir değer döndüremeyen bir ifadedir. Başarısız olabilir ifadeler yalnızca bir başarısızlık bağlamında yürütülebilir çünkü bu bağlam ifadenin başarısız olması durumunda ne olacağını tanımlar.
Başarısız olabilir ifadelere örnek olarak, geçersiz bir dizin başarısız olacağından bir dizi içine dizinleme ve iki değerin karşılaştırılması gibi işleç kullanımı verilebilir. Verse’te başarısız olabilir ifadeler hakkında daha fazla bilgi için Başarısızlık bölümüne bakabilirsin.
Verse’te İfadelerin Listesi
Aşağıdaki tabloda Verse’teki farklı ifade türleri açıklanmaktadır. Her ifade hakkında daha fazla bilgi edinmek için bağlantıları izle.
İfade | Açıklama | İfade Başarısız Olabilir mi? |
---|---|---|
Değişmez Değerler | ||
Fonksiyon Çağrıları | Fonksiyon çağrısı bir ifadedir ve iki biçimi olabilir: FunctionName() ile FunctionName[] . Fonksiyon çağrısı ifadesinin sonuç türü, fonksiyon imzasında tanımlanır. Daha ayrıntılı bilgi için Fonksiyon bölümüne bakabilirsin. |
Yalnızca fonksiyon çağrısı FunctionName[] biçiminde olduğunda ve fonksiyon tanımı <decides> belirleyicisine sahip olduğunda. |
Karşılaştırma | Karşılaştırma ifadesi, karşılaştırma işleçlerinden birini kullanarak iki şeyi karşılaştırır:
Daha fazla bilgi için işleçler bölümünü incele. |
Evet |
Atama | Atama ifadesi, örneğin bir sabit başlatıldığında veya bir değişkenin değerini değiştirmek amacıyla değiştirilebilir bir konumda bir değer depolar. Daha ayrıntılı bilgi için Değişkenler ve Sabitler bölümüne bakabilirsin. | |
Matematik | Bir matematik ifadesi şu işleçleri kullanarak hesaplamalar yapar:
Tüm bu işleçlerin, işaretçilerle birlikte kullanılabilen atama varyantları da bulunur. Daha fazla bilgi için işleçler bölümünü incele. |
Yalnızca tamsayı bölme için. |
Karar | Karar ifadesi, not , and ve or işleçlerini kullanarak başarı ve başarısızlık karar akışının kontrolünü sana verir. Daha ayrıntılı bilgi için İşleçler bölümüne bakabilirsin. |
Evet |
Sorgu | Sorgu ifadesi, ? işlecini kullanır ve bir mantık veya seçenek değerinin true olup olmadığını kontrol eder. Aksi takdirde ifade başarısız olur. Daha ayrıntılı bilgi için İşleçler bölümüne bakabilirsin. |
Evet |
Sınıf ve Yapı Örnekleme | Bir class veya struct örneği oluşturmak, bir ifadedir. Sınıf ve Yapı bölümlerine bak. |
|
Kontrol Akışı | Kontrol akışı, bir bilgisayarın talimatları yürütme sırasıdır. Bu akışı değiştirmek için
Daha fazla bilgi için Kontrol Akışı bölümünü incele. |
|
Dizi | Dizi, aynı türden öğeleri depolayabileceğin bir kapsayıcıdır. Bir dizinin öğelerinin sırası, bu öğeleri diziye eklediğin sırayla aynıdır ve öğelere dizideki dizin adı verilen konumlarına göre erişebilirsin. Daha fazla bilgi için Dizi bölümüne bakabilirsin. | Yalnızca bir dizi içinde dizin oluştururken. |
Demet | Demet bir veya daha fazla türden öğeyi depolayabileceğin bir kapsayıcıdır. Bir demetin öğeleri, bunları demete eklediğin sırada olup öğelere demetteki dizin adı verilen konumlarına göre erişebilirsin. Daha fazla bilgi için Demet bölümüne bakabilirsin. | |
Harita | Harita, anahtar-değer çifti adı verilen, başka bir değerle ilişkili değerleri depolayabileceğin bir kapsayıcıdır. Anahtar-değer çiftleri, anahtar türü karşılaştırılabilir olduğu sürece türlerin herhangi bir bileşimi olabilir. Bir haritanın öğelerinin sırası, anahtar-değer çiftlerini o haritaya eklediğin sırayla aynı olup öğelere, bunların benzersiz anahtarlarıyla erişebilirsin. Daha fazla bilgi için Harita bölümüne bakabilirsin | |
Seçenek | Seçenek, bir türün bir değerine sahip olan veya hiçbir değerine sahip olmayan kapsayıcıdır. Daha fazla bilgi için Seçenek bölümüne bakabilirsin. | |
Aralık | Aralık ifadeleri, belirlenmiş iki değer arasındaki tüm sayıları, bu iki değer de dahil olacak şekilde içerir. Bu ifadelerin gösteriminde değerler arasında .. kullanılır. Örneğin, 1..5 . Aralık ifadeleri yalnızca for ifadeleri gibi bazı yerlerde kullanılabilir. Daha ayrıntılı bilgi için Aralık bölümüne bak. |