實用函式程式設計《序》

2021-06-22 16:27:49 字數 2061 閱讀 2051

本書不同於現在的其他程式設計書籍,它不僅關注某種專門的程式語言或庫,而是用目前用目前的程式語言或庫去解釋思維的方法。思維方法正變得越來越重要,已經重疊許多新的技術。

我們已經知道本書中描述的某些概念,因為,函式式思想在許多技術中都有所體現。.net 的示例包括c# 3.0 和linq 專案,微軟對 .net 的並行擴充套件(microsoft parallel extensions to .net),以及在 windowspresentation foundation(wpf)中使用的宣告式程式設計模型。在本書中,我們將以已有的 .net 和 c# 經驗為基礎,來解釋函式式程式設計正規化,將介紹 f#,這是微軟新的函式式程式語言,用它來把抽象的思想轉換成更具體的形式;在可能的地方我們也使用 c#,因為函式式思想也有助於設計出好的 c# 應用程式。的能是身姿 盜劫tation foundation (wpf).

如果我寫的書是純粹介紹 f# 的,那麼,我會按照各個語言功能來組織,並逐個解釋這些功能。而本書是一般意義上的函式式程式設計,因此,在構成函式正規化的思想上是鬆散的結構,但這也更困難,因為,思想沒有清晰的邊界,且常有重疊。

我們已經嘗試過,選擇一些我們認為對於函式式程式設計的新手來說是最重的思想,然後,圍繞這些來組織內容,這一點在第二部分特別重要,我們將系統介紹函式值,高階函式,以及函式程式的體系結構。這樣,示例能夠很快用來演示函式式程式設計,比如資料集合的使用,它不止出現在乙個地方,相反,我們介紹的每一種思想,會在後面的章節中多次出現。因此,我們使用這種方法來展示如何從一組很小的概念出發產生出優美的函式式程式設計思想,就像函式程式自己做的一樣。

感謝「蝴蝶效應(butterfly effect)」,是由edward lorenz 提出的乙個概念,是基於混沌理論:是說表面上看來很小的事件有可能引起很大的事件,比如,蝴蝶在亞洲的某個地方輕輕扇了幾下翅膀,就可能引起南美洲的颶風。(蝴蝶扇動翅膀在理論上是恆定的,但是地點(亞洲或巴西)和結果(颶風或龍捲風)卻會不同)。這足以說明,正是由於有這許多人(和蝴蝶),才有可能有了這本書,如果沒有他們,就不會有這本書;因此,即使我不相信混沌理論,但是,在這一節中我要感謝的人還是很多的。

如果我沒有遇到don syme,可能永遠不會對 f# 和函式式程式設計感興起。don 是我在微軟研究院的實習導師,和他在一起工作,並參加長期有關 f#(以及生活、宇宙和其他的一切)的討論是一件很愉快的事情;還要感謝的是微軟研究院的james margetson,它教會了我許多很酷的函式程式設計技巧。然而,如果我不是獲得微軟 mvp,並且遇到了luke hoban,他後來把我介紹給了don,那麼,可能永遠也遇不到don 和 james。如果我必須繼續像這樣,那麼,最後還要感謝michal bláha, jan stoklasa、božena mannová、codeproject.com的作者,以及其他許多人。

沒有mike stephens,就不會有這本書,他是manning 公司最先與我接觸的;由於harry pierson 的最先參與,我才著手寫作。雖然我們在一起的時間不長,但是,harry 的參與對的鼓勵非常重要。

前面,我提到的人對本書的著手創作起的很大的作用,下面要感謝的人對本書的完成至關重要。

這裡,我還要感謝manning 公司中每乙個對本書的幫助。

(略……)

tomas petricek

我首選要感謝 tomas 和manning 公司的每個人,給予我參與本書部分工作的機會。對於乙個巨集大目標來說,這是乙個很小的部分,但非常有趣,它給了我學習有關函式式程式設計的樂趣,從書本到書本。我只希望我所做的這一小部分能有用,我所代表的是熱情而無知的讀者(當然包括 c# 粉),因此,你現在讀到的本書在某些方面就是為了給我講授函式式程式設計。書本身是乙份需要感謝的禮物,tomas 已經感謝了 manning 公司的所有編輯和其他工作人員,我也同樣要感謝他們。

我的孩子還太小不會程式設計,我的妻子也……算了,通常,總的來說,當高階函式困擾我的時候,她總是給我以支援。

(略……)

最後,還要感謝我的英語老師,特別是simon howells。隨著我學習了更多的程式語言,我也更確信,軟體工程師應該注意到語言是用來和人交流的,而不是和計算機。simon howells 對語言和文學的熱情就像我對計算一樣,這份熱情也感染了他的學生。他不可能閱讀我寫過的每一字,但是,他教給我的思想,我受用終生。

jon skeet

最先它有這個本快的事情(

實用函式 define

define 此函式是定義乙個常量。語法 define name,value,case insensitive name 常量名 是必有的函式,用來定義常量名。value 常量的值 是必有的函式,用來指定常量的值。case insensitive 指定常量的名稱是否是不區分大小寫的 可選引數。如果設...

實用內建函式

dir obj 顯示物件的屬性,如果沒有提供引數,則顯示全域性變數的名字 help obj 以一種整齊美觀的形式 顯示物件的文件字串,如果沒有提供任何引數,則會進入互動式幫助。int obj 將乙個物件轉換為整數 len obj 返回物件的長度 open fn,mode 以 mode r 讀,w 寫...

彙編 實用函式

目錄 1.換行 2.輸入字串 3.輸出字串 4.十進位制輸出 5.十六進製制輸出 6.氣泡排序 7.輸出空格 8.延時 9.1.backenter proc near mov dl,0ah 回車換行 mov ah,2 int 21h mov dl,0dh mov ah,2 int 21h retba...