F # - Temel Sözdizimi

Bir F # programının temel yapısını gördünüz, bu nedenle F # programlama dilinin diğer temel yapı taşlarını anlamak kolay olacaktır.

F # cinsinden jetonlar

Bir F # programı çeşitli belirteçlerden oluşur. Bir belirteç, bir anahtar sözcük, bir tanımlayıcı, bir sabit, bir dize değişmezi veya bir sembol olabilir. F # jetonlarını iki türe ayırabiliriz -

  • Keywords
  • Sembol ve Operatörler

F # Anahtar Kelimeler

Aşağıdaki tablo anahtar kelimeleri ve anahtar kelimelerin kısa açıklamalarını göstermektedir. Bu anahtar kelimelerin kullanımını sonraki bölümlerde tartışacağız.

Anahtar kelime Açıklama
abstract Bildirildiği türde uygulama içermeyen veya sanal olan ve varsayılan uygulaması olan bir yöntemi gösterir.
and Karşılıklı özyinelemeli bağlamalarda, özellik bildirimlerinde ve genel parametrelerde birden çok kısıtlamayla kullanılır.
as Mevcut sınıf nesnesine bir nesne adı vermek için kullanılır. Aynı zamanda bir kalıp eşleşmesi içindeki bütün bir kalıba isim vermek için de kullanılır.
assert Hata ayıklama sırasında kodu doğrulamak için kullanılır.
base Temel sınıf nesnesinin adı olarak kullanılır.
begin Ayrıntılı sözdiziminde, bir kod bloğunun başlangıcını belirtir.
class Ayrıntılı sözdiziminde, bir sınıf tanımının başlangıcını belirtir.
default Soyut bir yöntemin uygulanmasını gösterir; sanal bir yöntem oluşturmak için soyut bir yöntem bildirimi ile birlikte kullanılır.
delegate Bir temsilci bildirmek için kullanılır.
do Döngü yapılarında veya zorunlu kodu yürütmek için kullanılır.
done Ayrıntılı sözdiziminde, döngü ifadesinde bir kod bloğunun sonunu belirtir.
downcast Devralma zincirinde daha düşük bir türe dönüştürmek için kullanılır.
downto İçinde for ifade, tersine sayarken kullanılır.
elif Koşullu dallanmada kullanılır. Kısa bir else if.
else Koşullu dallanmada kullanılır.
end

Tür tanımlarında ve tür uzantılarında, üye tanımlarının bir bölümünün sonunu belirtir.

Ayrıntılı sözdiziminde, begin anahtar sözcüğü ile başlayan bir kod bloğunun sonunu belirtmek için kullanılır.

exception Bir istisna türü bildirmek için kullanılır.
extern Bildirilen bir program öğesinin başka bir ikilide veya derlemede tanımlandığını gösterir.
false Boolean değişmez değeri olarak kullanılır.
finally Bir istisna olup olmadığına bakılmaksızın çalışan bir kod bloğu tanıtmaya çalışmakla birlikte kullanılır.
for Döngü yapılarında kullanılır.
fun Anonim işlevler olarak da bilinen lambda ifadelerinde kullanılır.
function Tek bir bağımsız değişken üzerinde desen eşlemesi olan bir lambda ifadesinde, fun anahtar kelimesine daha kısa bir alternatif ve bir eşleme ifadesi olarak kullanılır.
global En üst düzey .NET ad alanına başvurmak için kullanılır.
if Koşullu dallanma yapılarında kullanılır.
in Sıralı ifadeler için ve ayrıntılı sözdiziminde ifadeleri bağlamalardan ayırmak için kullanılır.
inherit Bir temel sınıf veya temel arabirim belirtmek için kullanılır.
inline Doğrudan arayanın koduna entegre edilmesi gereken bir işlevi belirtmek için kullanılır.
interface Arayüzleri bildirmek ve uygulamak için kullanılır.
internal Bir üyenin montajın içinde görünür olduğunu ancak dışında olmadığını belirtmek için kullanılır.
lazy Yalnızca bir sonuca ihtiyaç duyulduğunda gerçekleştirilecek bir hesaplamayı belirtmek için kullanılır.
let Bir adı bir değer veya işleve ilişkilendirmek veya bağlamak için kullanılır.
let! Eşzamansız iş akışlarında eşzamansız bir hesaplamanın sonucuna bir ad bağlamak için veya diğer hesaplama ifadelerinde hesaplama türündeki bir sonuca bir ad bağlamak için kullanılır.
match Bir değeri bir modelle karşılaştırarak dallanmak için kullanılır.
member Bir nesne türünde bir özelliği veya yöntemi bildirmek için kullanılır.
module Bir adı diğer koddan mantıksal olarak ayırmak için bir grup ilgili tür, değer ve işlevle ilişkilendirmek için kullanılır.
mutable Bir değişkeni, yani değiştirilebilen bir değeri bildirmek için kullanılır.
namespace Bir adı diğer koddan mantıksal olarak ayırmak için bir grup ilgili tür ve modülle ilişkilendirmek için kullanılır.
new

Bir nesne oluşturan veya yaratabilen bir kurucu bildirmek, tanımlamak veya çağırmak için kullanılır.

Ayrıca, bir türün belirli bir kurucuya sahip olması gerektiğini belirtmek için genel parametre kısıtlamalarında kullanılır.

not Aslında bir anahtar kelime değil. Ancak, kombinasyon halinde olmayan yapı, genel bir parametre kısıtlaması olarak kullanılır.
null

Bir nesnenin olmadığını gösterir.

Ayrıca genel parametre kısıtlamalarında da kullanılır.

of Ayrımcı sendikalarda, değer kategorilerinin türünü belirtmek için ve temsilci ve istisna bildirimlerinde kullanılır.
open Bir ad alanının veya modülün içeriğini nitelik olmadan kullanılabilir hale getirmek için kullanılır.
or

Boolean veya işleç olarak Boole koşullarıyla kullanılır. || ile eşdeğerdir.

Üye kısıtlamalarında da kullanılır.

override Temel sürümden farklı olan bir soyut veya sanal yöntemin sürümünü uygulamak için kullanılır.
private Aynı tür veya modülde kodlama yapmak için bir üyeye erişimi kısıtlar.
public Türün dışından bir üyeye erişim sağlar.
rec Bir işlevin özyinelemeli olduğunu belirtmek için kullanılır.
return Hesaplama ifadesinin sonucu olarak sağlanacak değeri belirtmek için kullanılır.
return! Değerlendirildiğinde, içeren hesaplama ifadesinin sonucunu sağlayan bir hesaplama ifadesini belirtmek için kullanılır.
select Hangi alanların veya sütunların çıkarılacağını belirtmek için sorgu ifadelerinde kullanılır. Bunun bağlamsal bir anahtar kelime olduğunu unutmayın; bu, aslında ayrılmış bir kelime olmadığı ve yalnızca uygun bağlamda bir anahtar kelime gibi davrandığı anlamına gelir.
static Bir türün örneği olmadan çağrılabilen bir yöntemi veya özelliği veya bir türün tüm örnekleri arasında paylaşılan bir değer üyesini belirtmek için kullanılır.
struct

Bir yapı türünü bildirmek için kullanılır.

Ayrıca genel parametre kısıtlamalarında da kullanılır.

Modül tanımlarında OCaml uyumluluğu için kullanılır.

then

Koşullu ifadelerde kullanılır.

Nesne oluşturduktan sonra yan etkileri gerçekleştirmek için de kullanılır.

to Bir aralığı belirtmek için döngülerde kullanılır.
true Boolean değişmez değeri olarak kullanılır.
try Bir istisna oluşturabilecek bir kod bloğu tanıtmak için kullanılır. İle birlikte kullanılır ile veya nihayet.
type Sınıf, kayıt, yapı, ayırt edici birleşim, numaralandırma türü, ölçü birimi veya tür kısaltması bildirmek için kullanılır.
upcast Devralma zincirinde daha yüksek olan bir türe dönüştürmek için kullanılır.
use Dispose'un serbest kaynaklara çağrılmasını gerektiren değerler için let yerine kullanılır.
use! Let yerine kullanılır! Dispose'un serbest kaynaklara çağrılmasını gerektiren değerler için zaman uyumsuz iş akışlarında ve diğer hesaplama ifadelerinde.
val Sınırlı durumlarda bir değeri belirtmek için bir imzada veya bir üye bildirmek için bir türde kullanılır.
void .NET geçersiz türünü gösterir. Diğer .NET dilleriyle birlikte çalışırken kullanılır.
when Kalıp eşleşmelerinde Boole koşulları (korumalar) için ve genel bir tür parametresi için bir kısıtlama cümlesi eklemek için kullanılır.
while Döngü oluşturan bir yapı sunar.
with Model eşleme ifadelerinde eşleme anahtar kelimesi ile birlikte kullanılır. Ayrıca üye tanımlarını tanıtmak ve istisna işleyicileri tanıtmak için nesne ifadelerinde, kayıt kopyalama ifadelerinde ve tür uzantılarında kullanılır.
yield Bir dizi için bir değer üretmek için bir dizi ifadesinde kullanılır.
yield! Bir hesaplama ifadesinde, belirli bir hesaplama ifadesinin sonucunu içeren hesaplama ifadesi için bir sonuç koleksiyonuna eklemek için kullanılır.

Bazı ayrılmış anahtar kelimeler OCaml dilinden geldi -

asr arazi lor lsl lsr lxor mod sig

Diğer bazı ayrılmış anahtar sözcükler, F # 'nin gelecekteki genişletmesi için tutulur.

atomik kırmak kontrol bileşen sabit kısıtlama constructor
continue eager event external fixed functor include
method mixin object parallel process protected pure
sealed tailcall trait virtual volatile

Comments in F#

F# provides two types of comments −

  • One line comment starts with // symbol.
  • Multi line comment starts with (* and ends with *).

A Basic Program and Application Entry Point in F#

Generally, you don’t have any explicit entry point for F# programs. When you compile an F# application, the last file provided to the compiler becomes the entry point and all top level statements in that file are executed from top to bottom.

A well-written program should have a single top-level statement that would call the main loop of the program.

A very minimalistic F# program that would display ‘Hello World’ on the screen −

(* This is a comment *)
(* Sample Hello World program using F# *)
printfn "Hello World!"

When you compile and execute the program, it yields the following output −

Hello World!