F 開始上路

2021-09-05 21:35:04 字數 1421 閱讀 5520

了不少,不僅僅是介面,內容也增加了不少。最引起我注意的是裡面有個叫f#的傢伙。什麼

語言?以前聽過d語言,沒想到現在都到f了(哈哈,好傻的推論)。隨後上網搜了一頓,發

現這個叫f#好像相當的不錯,特別強調這是一種函式式程式語言。我對什麼是函式式程式設計不

是很了解,所以也想學習學習。終於,功夫不負有心人,找到了一本expert f#的電子版。好

我沒有使用vs2010來f#進行開發,因為vs2010對f#的支援顯然還不很完善,連

fsharp.powerpack都找不到。所以還是用vs2008和f#安裝包1.9.2。

今天的學習到的要點是對f#程式語法的理解

let wordcount text =

let words = string.split [' '] text

let wordset = set.of_list words

let nwords = words.length

let ndups = words.length - wordset.count

(nwords, ndups)

這個是書裡的程式,初看起來比較怪異,畢竟和c/c++/c#的程式區別很明顯。let是f#程式

最重要的關鍵字,它用來宣告函式與值。其後需要跟上乙個函式名或值,如wordcount;如

果是函式名則需要在其後跟上引數,如text;程式的最後(nwords, ndups)表示該函式有

兩個整型的返回值。

如果你在f#的交換環境中,輸入這段程式,環境會提示你如下:

val wordcount : string -> int * int

這裡的提示很清楚的告訴我們,這wordcount函式輸入為字串,輸出為兩整型。

由於f#沒有類似於c/c++的主函式,所以如果我們想在vs環境中除錯這個程式,我們需要鍵入:

#light

/// analyze a string for duplicate words

let wordcount text =

let words = string.split [' '] text

let wordset = set.of_list words

let nwords = words.length

let ndups = words.length - wordset.count

(nwords, ndups)

let showwordcount text =

let nwords,ndups = wordcount text

printfn "--> %d words in the text" nwords

printfn "--> %d duplicate words" ndups

let print = showwordcount "hello world hello"

紅色字型是輸出的入口函式

開始上路了

終於在今天決定開始寫自己的故事,自己對與在軟體行業的一點一滴的認識,雖然到現在我還只是個毛頭小子,只是會c語言 還有略懂一點linux,不知道為什麼,從接觸計算機到現在,自己會對linux有些喜愛,要上大二了,我不是純粹學計算機的,我是學數學的,可是我堅信我自己選擇的路是正確的,只有那些不是經過模組...

新手上路,開始這種方式的學習,加油

剛剛入職,需要學的很多。eof是通過ctrl z輸入的 c語言讀檔案可以用fscanf 進行格式化的輸入。但c 的cin是不是也可以格式化輸入?還得看看 模態對話方塊是要阻塞程序的,對於乙個要同時實現兩個對話方塊的應用程式,必須至少有乙個是非模態的。domodel 和createrwindow 分別...

新手上路 記錄部落格新篇章的開始

你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下markdown的基本語法知識。全新的介面設計,將會帶來全新的寫作體驗 在創作中心設定你喜愛的 高亮樣式,markdown將 片顯示選擇的高亮樣式進行展示 全新的ka...