文字轉清單 ( 指定符號拆字 )
Scratch 一直以來都沒有提供太多的進階文字和清單操作功能,造成如果要處理多維陣列 ( 清單 ) 十分不容易,這篇文章會介紹,如何在 Scratch 裡使用變數、函式、清單、重複、字串組合...等積木,實作一個文字轉清單的功能,有了這個功能之後,就可以較為輕鬆地處理二維陣列 ( 清單 ) 了。
積木程式原理
首先了解「文字透過指定符號拆成清單」的原理:
- 將文字的每個字依序取出。
- 將取出的文字合併成 item 的內容。
- 如果取出的文字是分隔符號 ( 例如逗號 , ),就將現有 item 的內容,添加進 list 清單裡。
了解原理後,從左側積木清單裡,新增 item、n 和 text 三個變數,以及 list 清單,將 text 和 list 勾選顯示在舞台中。
- 變數 item:文字轉換後要寫入 list 的項目。
- 變數 n:要轉換文字的第幾個字。
- 變數 text:原始文字。
- 清單 list:轉換後的清單。
新增一個名為「拆字」的函式,加入 input 和 s 兩個參數,勾選「執行完畢再更新畫面」。
- input:輸入需要轉換的文字。
- s:分隔文字的符號。
編輯拆字的函式內容:
- 清空 list 清單內容。
- 設定變數 n 為 1,表示從文字的第一個字開始。
- 設定變數 item 為「空」值 ( 注意,不能有任何「空白」或「符號」,要完全空值 )。
- 使用重複積木,重複「文字的長度」次數,每次重複執行:
- 如果文字的第 n 個字,等於分隔符號 s,就將 item 加入 list,並設定 item 為「空值」。
- 如果不等於分隔符號,就將 item 用字串組合文字的第 n 個字。
- 每次重複將 n 增加 1。
- 重複結束後,判斷如果 item 還有內容,就將 item 加入 list。
完成效果
接著在點擊綠旗時,設定變數 text 為一串需要轉換的文字,執行拆字函式,點擊綠旗後,就會將文字轉換成清單。
範例解答
範例解答:文字轉清單 ( 指定符號拆字 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~