在《Words With Friends》中,請將 Reverse Words 當成 Swap Plus 以外的獨立規劃輔助工具:它會反轉非空白詞元的順序,同時保留貼上文字中的每一個原始空格、定位tab與換行序列。Swap Plus 與文字反轉處理的是不同工作。遊戲中的操作涉及交換字塊,而 Reverse Words 只會在瀏覽器的欄位中處理貼上的文字;它無法檢視棋盤、按下游戲控制項或選擇字塊。這項差異很重要,因為交換字塊不等於將詞語倒過來。如果你的目標是排練某個詞語、檢視候選詞語依反向詞元順序讀起來的樣子,或確認字母群組之間的確切分隔符,請將材料貼到連結的 Reverse Words 工具,並依照下列三項操作進行。請將結果視為規劃參考,然後回到《Words With Friends》,由你自行做出實際的遊戲選擇。這項轉換是確定性的:「one two three」會變成「three two one」,而每個詞元的內部字元都維持不變。它不會修正拼寫、不會依照文法移動標點、不會推論合法的遊戲步法,也不會在順序改變後保留原意。所有處理都在瀏覽器內進行,因此文字不會上傳。

將字塊交換與文字結果分開處理
關鍵字「Swap Plus in Words With Friends」可能指向兩項不同的任務。在遊戲中,它指的是交換所選的字塊。在文字練習中,你可能反而希望讓某個詞語或清單中的字詞以相反順序出現。Reverse Words 只處理第二項任務。它接受貼上的文字,而不是棋盤狀態、字架上的字塊或預定的遊戲步法。
如果你想反轉貼上文字中的詞元順序,請將 Reverse Words 當成獨立的瀏覽器工具使用。如果你在規劃文字倒著讀起來的樣子,請另外將該文字送入 Reverse Words。它的輸出可以協助你比較詞元順序,但不會確認候選詞語是否為有效英文或是否在遊戲中合法。
為 Swap Plus 計畫執行文字檢查
請將這個瀏覽器工具當成遊戲旁邊的輔助工具,而不是遊戲本身的擴充功能。請準備你要檢視的確切詞語、句子、清單或多行文字區塊,並包含你要測試的分隔符。
- 貼上來源文字。貼上其非空白詞元順序需要反轉的文字。由空格分隔的字母群組可能會變成數個詞元,而沒有空白的連續序列則仍是單一詞元。請在貼上的內容中保留原始空格、定位tab與換行。
- 執行轉換。選擇 Reverse word order。此工具會反轉所收集的非空白詞元、回報反轉的詞元數量,並顯示確切的輸出。每個詞元內的字母仍會維持原本順序。
- 回到遊戲前檢查結果。核對反轉後的詞元,並確認原始空格、定位tab與換行都留在原處。也請檢查連接的標點符號與符號是否仍屬於相同的詞元。產生的文字是供你規劃時參考,而不是對遊戲棋盤自動執行的操作。
如果你在使用工具後編輯輸入內容,先前的結果就會清除。請再次執行操作,以免將舊的反轉結果誤認為目前文字的輸出。
確認正在反轉的確切詞元
在 Reverse Words 中,詞語是指任何一段最長、由非空白字元組成的連續序列。這項定義是機械式的,而非語言學上的。當字母、數字、符號、表情符號與標點符號在沒有空白的情況下連接時,都會包含在內。此工具會反轉這些完整詞元的順序,但不會反轉詞元內部的拼寫。
例如,「hello, brave world!」包含三個詞元:「hello,」、「brave」與「world!」。結果為「world! brave hello,」。逗號會維持連接在「hello,」,驚嘆號會維持連接在「world!」。此工具並未重寫標點符號,讓反轉後的詞語符合文法。
沒有空白的連續表情符號也會形成單一詞元,而組合記號則會維持連接在其所在詞元的周圍。因此,通常不以空格分隔詞語的文字系統,可能會將整行或整個詞語產生為單一詞元。此工具不會套用中文、日文、泰文或其他特定語言的分詞方式。如果你需要改為鏡像詞元內部的字元,請使用獨立的 Text Reverser 工具。
這項操作會比對交替出現的空白與非空白內容序列,只收集非空白序列,將該集合反轉,再把詞元代回未變更的空白模式中。MDN 關於正規表示式字元類別與 Array.prototype.reverse() 的參考資料,可為這些 JavaScript 建構元素提供實用背景。最終結果仍是詞元順序的轉換,而非完整的字元反轉。
讓每個空白序列留在原始位置
空白的保留依據是位置,而不是隨著詞語移動。每個空白序列都會在原本的詞元位置保持不變:一個空格仍是一個空格,兩個空格仍是兩個空格,定位tab仍是定位tab。CRLF、CR 與 LF 換行結尾也會維持在瀏覽器字串中原本出現的確切位置。此工具絕不會變更或移動這些邊界。
假設輸入內容包含「one」、接著兩個空格、然後是「two」、一個換行,以及「three」。輸出會包含「three」、相同的兩個空格、「two」、相同的換行,以及「one」。詞元內容交換了位置,但提供的空白結構並未改變。
當詞元長度差距很大時,固定的空白位置可能會讓視覺結果看起來不尋常。當短詞元移入較長的末尾位置時,不會自動填補。瀏覽器一般的換行方式在畫面上也可能有所不同。這種視覺換行並非插入的換行符號;底層字元仍是輸入時提供的字元。
檢查邊界情況與輸入上限
此工具會在產生反轉結果前,同時驗證內容與輸入長度。
| 輸入條件 | 結果 |
|---|---|
| 空白或僅含空白的輸入 | 遭拒,因為其中沒有可反轉的非空白詞元。 |
| 單一非空白詞元 | 以確定性的無操作結果原樣傳回,回報的數量為 one。 |
| 恰好 1,000,000 個 UTF-16 程式碼單位,且至少有一個詞元 | 接受處理。 |
| 比上限多一個 UTF-16 程式碼單位 | 產生可見的錯誤,且不提供部分結果。 |
| 先產生結果後又編輯輸入內容 | 先前的結果會清除,直到再次處理目前的輸入內容為止。 |
確切上限是以 UTF-16 程式碼單位測量,因此不應將其視為可見字母或字形數量。如果輸入內容超過上限,請先減少內容再執行工具,不要預期只會反轉一部分。
使用輸出前檢查含義
Reverse Words 改變的是結構,而非語言。它不是譯者、句子層級改寫工具、文法修正工具、雙向文字清理工具或由右至左版面配置轉換器。即使每個詞元與分隔符都正確處理,移動詞元仍可能讓句子變得毫無意義。請將輸出視為確定性的轉換結果,而不是改良後的文字。
混合由左至右與由右至左的文字系統,也可能需要專門支援雙向文字的編輯器進行視覺檢查。在發布結果,或將其插入程式碼、標記、指令或結構化資料之前,請確認變更詞元順序不會改變預定行為。對於《Words With Friends》的計畫,請只將反轉後的文字當作排練輔助工具,然後自行檢查實際字塊與遊戲狀態。