99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

F?;菊Z法

2018-12-14 16:56 更新

您已經(jīng)看到了F#程序的基本結(jié)構(gòu),因此很容易理解F#編程語言的其他基本構(gòu)建塊。

F# tokens

F#程序由各種tokens組成。 tokens可以是關(guān)鍵字,標(biāo)識符,常量,字符串文字或符號。 我們可以將F#tokens分為兩種類型 -

  • 關(guān)鍵詞
  • 符號和操作符

F# keywords

下表顯示了 keywords的簡要說明。 我們將在后續(xù)章節(jié)討論這些 keywords的使用。

關(guān)鍵詞描述
abstract
表示在聲明的類型中沒有實(shí)現(xiàn)的方法,或者是虛擬的并且具有默認(rèn)實(shí)現(xiàn)的方法。
and
用于相互遞歸的綁定,在屬性聲明,并與泛型參數(shù)多個(gè)約束。
as
用來給當(dāng)前類對象的對象名。也用于給一個(gè)名字模式匹配內(nèi)的整個(gè)模式。
assert
用于在調(diào)試過程中驗(yàn)證代碼。
base
用作基類對象的名稱。
begin
在冗長的語法,表示一個(gè)代碼塊的開始。
class
在冗長的語法,表示一個(gè)類定義的開始。
default
表示抽象方法的實(shí)現(xiàn);與抽象方法聲明一起使用,以創(chuàng)建一個(gè)虛擬的方法。
delegate
用于聲明委托。
do
用于循環(huán)結(jié)構(gòu)或者執(zhí)行必要的代碼。
done
在詳細(xì)的語法,指示代碼中循環(huán)表達(dá)塊的結(jié)束。
downcast
用于轉(zhuǎn)換為繼承鏈中較低的類型。
downto
用于反向計(jì)數(shù)。
elif
使用條件分支。如果其他的縮寫形式。
else
使用條件分支。
end

在類型定義和擴(kuò)展類型,表示成員定義一節(jié)的末尾。

在冗長的語法,用于指定的關(guān)鍵字開頭開始一個(gè)代碼塊的結(jié)束。

exception
用于聲明異常類型。
extern
指示已聲明的程序元素在另一個(gè)二進(jìn)制文件或程序集中定義。
false
作為一個(gè)布爾值。
finally
與嘗試一起使用,以引入執(zhí)行無論是否發(fā)生異常的代碼塊。
for
用于循環(huán)結(jié)構(gòu)。
fun
應(yīng)用于lambda表達(dá)式,也稱為匿名函數(shù)。
function
用作fun關(guān)鍵字的一個(gè)較短的替代方法,以及在單個(gè)參數(shù)上具有模式匹配的lambda表達(dá)式中的匹配表達(dá)式。
global
用于引用頂層.NET命名空間。
if
在使用條件分支結(jié)構(gòu)。
in
用于序列的表達(dá),并在詳細(xì)的語法,從單獨(dú)的綁定表達(dá)式。
inherit
用于指定基類或基本接口。
inline
用于指示應(yīng)該直接集成到調(diào)用者代碼中的函數(shù)。
interface
用于聲明和實(shí)現(xiàn)接口。
internal
用于指定一個(gè)成員是一個(gè)組件內(nèi)可見,但不是外面。
lazy
用于指定的運(yùn)算即需要一個(gè)結(jié)果,只有當(dāng)被執(zhí)行。
let
用于相關(guān)聯(lián),或結(jié)合,一個(gè)名字的值或功能。
let!
在異步工作流用于一個(gè)名稱綁定到一個(gè)異步計(jì)算,或者,在其它的計(jì)算表達(dá)式的結(jié)果,用于將一個(gè)名稱綁定到的結(jié)果,也就是計(jì)算類型。
match
一個(gè)值比較的模式用于分支。
member
用來聲明對象類型的屬性或方法。
module
用于將名稱與一組相關(guān)的類型,價(jià)值和功能聯(lián)系起來,在邏輯上它與其他代碼中分離出來。
mutable
用于聲明變量,也就是說,是可以改變的一個(gè)值。
namespace
用于將名稱與一組相關(guān)的種類和模塊相關(guān)聯(lián),在邏輯上它與其他代碼中分離出來。
new

用于聲明,定義或調(diào)用創(chuàng)建或者它可以創(chuàng)建一個(gè)對象的構(gòu)造函數(shù)。

在泛型參數(shù)約束也用來表示一個(gè)類型必須有一定的構(gòu)造函數(shù)。

not
實(shí)際上不是一個(gè)關(guān)鍵字。然而,并非在組合結(jié)構(gòu)體被用作一個(gè)通用的參數(shù)約束。
null

表明不存在一個(gè)對象。

在泛型參數(shù)約束也使用。

of
用于識別聯(lián)合指示值類的類型,并在代表和異常聲明。
open
用于使名稱空間或模塊的內(nèi)容可用,無需限定。
or

與布爾條件一起使用作為布爾或運(yùn)算符。 相當(dāng)于||。
也用于成員約束。

override
用于實(shí)現(xiàn)一個(gè)版本從基部版本不同的抽象的或虛擬的方法。
private
限制訪問一個(gè)構(gòu)件到代碼中的相同類型或模塊。
public
允許從種類以外訪問成員。
rec
用于指示一個(gè)功能是遞歸的。
return
用于指示值,以提供作為計(jì)算表達(dá)式的結(jié)果。
return!
用于指示計(jì)算表達(dá)式,評估時(shí),提供了含有計(jì)算表達(dá)式的結(jié)果。
select
用于查詢表達(dá)式來指定哪些領(lǐng)域或列中提取。注意,這是一個(gè)上下文關(guān)鍵字,這意味著它是不實(shí)際的保留字,它僅作用就像在適當(dāng)?shù)姆秶鷥?nèi)的關(guān)鍵字。
static
用于指示的方法或?qū)傩?,可以在沒有類型,或者是一類的所有實(shí)例之間共享的值構(gòu)件的一個(gè)實(shí)例被調(diào)用。
struct

用來聲明結(jié)構(gòu)類型。

在泛型參數(shù)約束也使用。

用于模塊定義OCaml的兼容性。

then

用于在條件表達(dá)式。

也用于執(zhí)行對象的構(gòu)造后的副作用。

to
用在for循環(huán)來表示的范圍。
true
作為一個(gè)布爾值。
try
用于引入可能生成異常的代碼塊。 與finally一起使用。
type
用于聲明一個(gè)類,記錄,結(jié)構(gòu),識別聯(lián)合,枚舉類型,計(jì)量單位或類型的縮寫。
upcast
用于轉(zhuǎn)換為一個(gè)類型,是在繼承鏈高。
use
用于轉(zhuǎn)換為在繼承鏈中較高的類型。
use!
用來代替let! 在異步工作流和其他計(jì)算表達(dá)式的值需要Dispose被調(diào)用以釋放資源。
val
用于在簽名,以指示一個(gè)值,或在一個(gè)類型聲明一個(gè)部件,在有限的情況下。
void
指示.NET void類型。與其他.NET語言互操作時(shí)使用。
when
用于模式匹配的布爾條件(當(dāng)guards時(shí)),并為通用類型參數(shù)引入約束子句。
while
引入了一個(gè)循環(huán)結(jié)構(gòu)。
with

在模式匹配表達(dá)式匹配關(guān)鍵字一起使用。對象表達(dá)式,記錄復(fù)制表達(dá)式和類型擴(kuò)展名也被用來引進(jìn)的成員定義,并引入異常處理程序。
yield
用于在序列表達(dá)以產(chǎn)生用于一序列的值。
yield!
用于在一個(gè)計(jì)算表達(dá)式給定的計(jì)算表達(dá)式的結(jié)果追加到的結(jié)果為含有計(jì)算表達(dá)式的集合。

有些保留關(guān)鍵字從OCaml的語言來 

asrlandlorlsllsrlxormodsig

保留一些其他保留的關(guān)鍵字用于將來擴(kuò)展F#

atomicbreakcheckedcomponentconstconstraintconstructor
continueeagereventexternalfixedfunctorinclude
methodmixinobjectparallelprocessprotectedpure
sealedtailcalltraitvirtualvolatile  

在F#注釋

F#提供了兩種類型的注釋 -

  • 一個(gè)行注釋開始于//符號。
  • 多行注釋以(*帶*號結(jié)束)。

基本程序和應(yīng)用程序入口點(diǎn)在F#

一般來說,F(xiàn)#程序沒有任何明確的入口點(diǎn)。 當(dāng)編譯F#應(yīng)用程序時(shí),提供給編譯器的最后一個(gè)文件成為入口點(diǎn),并且該文件中的所有頂級語句從上到下執(zhí)行。

一個(gè)編寫良好的程序應(yīng)該有一個(gè)頂層語句,它將調(diào)用程序的主循環(huán)。

一個(gè)非常簡約的F#程序,將在屏幕上顯示“Hello World”

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

當(dāng)你編譯和執(zhí)行程序,它產(chǎn)生以下輸出 -

Hello World!

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號