2018年2月26日 星期一

[Micro:bit] Number to string

Number to string


FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

Feb. 26, 2018
88x31.png[1]

變數型態互転(data-type conversion)是程式撰寫時常見的狀況。
追其咎因來自於變數在程式運算的过程中三不五時就需要(転)變(型)態以符合同型一致的規範。例如:DOKELUNG'S BLOG的Python 快速入門的guess.py

answer = 6
while True:
    str_num = input('請輸入一個1-10之間的整數:')
    int_num = int(str_num)
    if int_num==answer:
        print('猜中拉!')

        break

str_num變數為字串型別,為玩家從鍵盤輸入的猜測數字
要比較此數字是否和底牌(answer變數)是否相同時,有兩种做法:

  1. 將字串變數str_num轉成整數型別後和整數變數answer相比:此時是兩數字相比較。(本例的做法)
  2. 將整數變數answer轉成字串型別後和字串變數str_num相比:此時是兩字串以ASCII碼相比較。。


本文僅就Make Code Blockly中數字(Numbers)字串(Strings)互轉的機制做討論。


  • Strings to Numbers

使用積木。範例程式碼為:


  • Numbers to Strings


  1. 使用積木[2]。範例程式碼為:
  2. 使用JavaScript語法(syntax)以產生对應之黑積木(即無原生積木可对應此語法)。
let str_tmp = ""
let no_black = 0
let no = 0
function number2string_black()  {
    no_black = no - 1
    str_tmp = ""
    str_tmp = no_black.toString()
basic.showString(str_tmp)
}
no = 5
basic.forever(() => {
    number2string_black()
})

範例程式碼為:





從本例中可得知Make Code上的JavaScript所能定義的程式語言能力超过Blockly許多,即

参考資料
  1. 六種授權條款
  2. 感謝麥客樂彼特社团黃首席工程師柏超解惑。
  3. 範例程式碼載奌