串接
編輯在形式語言理論和計算機程序設計中,字符串連接是將字符串首尾相接的操作。 例如,雪和球的串聯是雪球。 在串聯理論(也稱為弦理論)的某些形式化中,弦串聯是一個原始概念。
語法
編輯在許多編程語言中,字符串連接是一個二元中綴運算符。 +(加號)運算符經常被重載以表示字符串參數的連接:Hello, + World 的值為 Hello, World。 在其他語言中,有一個單獨的運算符,專門用于指定到字符串的隱式類型轉換,而不是泛型加號的更復雜行為。 例子包括。 在愛丁堡 IMP、Perl 和 PHP 中,.. 在 Lua 中,以及 & 在 Ada、AppleScript 和 Visual Basic 中。 存在其他語法,例如 || 在 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 等)。
任何類型的計算機化公共廣播系統的編程也可以為動態公共廣播(例如,機場的航班)使用串聯。 該系統會將數字、路線或航空公司、目的地、時間等的錄制語音存檔,并以特定順序播放它們,以生成語法正確的句子,并在整個設施中公布。
數據庫理論
關系數據庫設計的原則之一是數據表的字段應該反映表主題的單一特征,這意味著它們不應該包含連接的字符串。 當報告中需要串聯時,應在運行報告時提供。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/193770/