什么是串聯
編輯在形式語言理論和計算機編程中,串聯是將字符串端到端連接起來的操作。例如,雪和球的連接就是雪球。在某些形式化的連接理論中,也稱為字符串理論,字符串連接是一個原始的概念。
串聯的語法
編輯在許多編程語言中,字符串連接是一個二進制的infix運算符。+(加)運算符經常被重載以表示字符串參數的連接。Hello,+World的值是Hello,World。在其他語言中,有一個單獨的運算符,特別是用來指定隱式類型轉換為字符串,而不是通用的加號的復雜行為。例子包括愛丁堡IMP、Perl和PHP中的.,Lua中的.,以及Ada、AppleScript和VisualBasic中的&。其他語法也存在,如PL/I和Oracle數據庫SQL中的||。在一些語言中,特別是C、C++和Python,存在著字符串字面的連接,這意味著相鄰的字符串字面被連接起來,沒有任何運算符。Hello,World的值是Hello,World。在其他語言中,帶運算符的字符串字頭連接在編譯時通過常量折疊進行評估,盡管這通常是編譯器的一個實現細節,而不是語言特性。
串聯的實施
編輯在編程中,字符串連接通常發生在運行時,因為字符串值通常在運行時才知道。然而,在字符串字面的情況下,值在編譯時就已經知道了,因此字符串連接可以在編譯時完成,可以通過字符串字面連接或通過常量折疊。
字符串集合的連接
編輯在形式語言理論和模式匹配(包括正則表達式)中,對字符串的連接操作被概括為對字符串集合的操作,如下所示。對于兩個字符串集S1和S2,連接S1S2由所有形式為vw的字符串組成,其中v是S1中的一個字符串,w是S2中的一個字符串,或者正式的S1S2={vw:v∈S1,w∈S2}。許多作者還使用字符串集和單個字符串的連接,反之亦然,它們的定義類似于S1w={vw:v∈S1}和vS2={vw:w∈S2}。在這些定義中,字符串vw是介紹性章節中定義的字符串v和w的普通連接。例如,如果F={a,b,c,d,e,f,g,h},和R={1,2,3,4,5,6,7,8},那么FR表示代數符號中所有棋盤坐標的集合,而eR表示國王文件的所有坐標集合。在這種情況下,字符串的集合通常被稱為形式語言。連接運算符通常表示為簡單的并列(與乘法一樣)。
代數特性
編輯字母表上的字符串,加上連接操作,形成一個關聯代數結構,其特征元素是空弦--自由單體。有連接和交替的字符串集形成了一個語義,連接(*)分布在交替(+)之上;0是空集,1是僅由空字符串組成的集。
串聯的應用
編輯音頻/電話在電話編程中,連接法被用來向用戶提供動態的音頻反饋。例如,在一天的時間發言時鐘中,串聯被用來通過播放串聯在一起的適當的錄音來提供正確的時間。比如說。在提示音中,時間將是八點三十五分二十五秒。錄音本身是單獨存在的,但將它們一個接一個地播放,為聽眾提供一個語法正確的句子。這種技術也被用于號碼變更公告、語音郵件系統或大多數向呼叫者提供動態反饋的電話應用(如moviefone、tellme和其他)。
任何一種計算機化的公共廣播系統的編程也可以采用串聯法進行動態公共廣播(例如,機場的航班)。該系統將對記錄的數字、路線或航空公司、目的地、時間等語音進行存檔,并按特定順序播放,以產生一個語法正確的句子,并在整個設施中宣布。
數據庫理論
編輯關系數據庫設計的原則之一是,數據表的字段應反映表主體的單一特征,這意味著它們不應包含串聯的字符串。當報告中需要串聯時,應該在運行報告時提供。例如,為了顯示某個客戶的實際地址,數據可能包括樓宇編號、街道名稱、樓宇子單元編號、城市名稱、州/省名稱、郵政編碼和國家名稱,例如,123FakeStApt4,Boulder,CO80302,USA,這結合了七個字段。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/163823/