- 接續前節,使用前節更改後的 Scheme 程式碼,將它改成 Python 程式碼 。
- 本節介紹單步執行的「第三種方式」,修改成在 Console 內可一行一行執行的 Python 程式碼 。
- 有些地方,可以直接手動更改。
- 有些地方,手動更改,太累人了。
- 有些地方,無規則可尋,就一定要手動更改,改到最後,讓程式碼完全符合 Python 的語法,並且符合 Python-Fu 的規範 。
- 文字編輯器,都有「搜尋」與「取代」的功能,可幫助修改程式碼。
- 例如:(define ...) 結尾的 ) 是要刪除的
- 利用換行符號的逃脫字符 \n 就可以輕鬆刪除結尾的 )
- 也就是,在文字編輯器「取代」功能的對話框內,將 )\n 取代為 \n
- 和大多數程式語言一樣,Python 使用等號 = 來指派變數值。
- Python 的變數不需事先宣告或定義,直接就可以指定變數值。
- Scheme 使用(define ...) 指定變數值。
- 因此,(define 取代為 空字串,也就是,刪除 (define 。
- 加減乘除,Python 採用中序運算式(infix)。
- Scheme 前序運算式(prefix),也就是,把 + - * / 視為一種函數。
- Scheme 函數的參數值用「空白」隔開。
- Python 函數的參數值用一個括號()括住,中間用逗點「, 」隔開,因此,
- 將「空白」取代為 "逗點加空白"「, 」
- Scheme 的 car 函數會取出串列的第一個元素 。
- car 函數的使用都常伴隨變數值指派的動作,因此,
- 將 (car 取代為 等號 =
- 將 (gimp 取代為 pdb.gimp
- 將 減號 - 取代為 _ 底線
- gimp-edit-fill 改成 pdb.gimp_edit_fill
- bg-layer 改成 bg_layer
- BACKGROUND-FILL 改成 BACKGROUND_FILL
- 將 分號 ; 取代為 # 井號
- Scheme是使用 list 的資料結構,使用撇號 ' 定義 list 。
- (63, 252, 0) Python是使用 tuple 的資料結構。
- '(63 252 0) 要更改為 (63, 252, 0)
- 大寫表示常數,記得「減號 - 」要換為「底線 _ 」,RGB-IMAGE 要換為 RGB_IMAGE 。
- 括號多一個,括號少一個,括號沒對齊,是最大的陷阱,也是容易犯的錯誤。