Aracılığıyla paylaş


Ayrıntılı sözdizimi (F#)

Sözdizimi iki form F# dilinde birçok yapıları için kullanılabilir: ayrıntılı sözdizimi ve Basit sözdizimi. Ayrıntılı sözdizimi yaygın kullanılmaz, ancak girinti için daha az duyarlı olma avantajına sahiptir. Basit sözdizimi daha kısadır ve girinti başlangıcını ve bitişini yapıları sinyal için kullandığı yerine ek anahtar sözcükler gibi begin, end, inve benzeri. Varsayılan sözdizimi basit sözdizimi aşağıdaki gibidir. Basit sözdizimi etkin değilken bu konuda F# yapıları sözdizimi açıklanmaktadır. Her basit sözdizimi etkinleştirseniz bile, yine ayrıntılı sözdizimi için bazı yapıları kullanabilirsiniz, böylece ayrıntılı sözdizimi zaman etkindir. Basit sözdizimi kullanarak devre #light "off" yönergesi.

Tablo yapıları

Aşağıdaki tabloda bağlamlarda F# dil yapıları için basit ve ayrıntılı sözdizimi gösterilmiştir iki form arasındaki fark burada. Bu tabloda, açılı ayraçlar (<>), kullanıcı tarafından sağlanan sözdizimi öğeleri içine. Her dil yapısı bu yapılar içinde kullanılan sözdizimi hakkında daha ayrıntılı bilgi için belgelerine bakın.

Dil yapısı

Basit sözdizimi

Ayrıntılı sözdizimi

Bileşik ifadeler

<expression1>
<expression2>
<expression1>; <expression2>

iç içe let bağlar

let f x =
    let a = 1
    let b = 2
    x + a + b
let f x =
    let a = 1 in
    let b = 2 in
    x + a + b

kod bloğu

    <expression1>
    <expression2>
    ...
    begin
        <expression1>;
        <expression2>;
    end

for...do

for counter = start to finish do
    ...
for counter = start .. finish do
    ...
    done

while...do

while <condition> do
    ...
while <condition> do
    ...
    done

for...in

for var in start .. finish do
    ...
for var in start .. finish do
    ...
    done

do

do ...
do ... in

Kayıt

type <record-name> =
    {
        <field-declarations>
    }
    <value-or-member-definitions>
type <record-name> =
    {
        <field-declarations>
    }
    with
        <value-or-member-definitions>
    end

class

type <class-name>(<params>) =
    ...
type <class-name>(<params>) =
    class
        ...
    end

yapı

[<StructAttribute>]
type <structure-name> =
    ...
type <structure-name> =
    struct
        ...
    end

discriminated Birliği

type <union-name> =
    | ...
    | ...
    ...
    <value-or-member definitions>
type <union-name> =
    | ...
    | ...
    ...
    with
         <value-or-member-definitions>

end

arabirim

type <interface-name> =
    ...
type <interface-name> =
    interface
        ...
    end

nesne ifadesi

{ new <type-name>
    with
        <value-or-member-definitions>
    <interface-implementations>
}
{ new <type-name>
    with
        <value-or-member-definitions>
    end
    <interface-implementations>
}

arabirim uygulaması

interface <interface-name>
    with
        <value-or-member-definitions>
interface <interface-name>
    with
        <value-or-member-definitions>
    end

türü uzantısı

type <type-name>
    with
        <value-or-member-definitions>
type <type-name>
    with
        <value-or-member-definitions>
    end

Modülü

module <module-name> =
    ...
module <module-name> =
    begin
        ...
    end

Ayrıca bkz.

Kavramlar

Kod biçimlendirme yönergeleri (F#)

Diğer Kaynaklar

F# dil başvurusu

Derleyici yönergeleri (F#)