Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

hy2pyを使ってhyスクリプトをpythonスクリプトに転換する

hy2pyはhy環境に付属するpythonスクリプトコンバーターです。
何からの事情でPythonしかない先で使うときに活用できそうです。

実際のところ

(import time)
(import serial)

(setv ser ( serial.Serial "/dev/ttyACM0" 57600))

(defn robotTask [dist] (-> (+ "task," dist "\n") (str.encode) (ser.write)))

(robotTask "up")
(for [x ["right" "down" "left"]]
  (robotTask x)
  (.sleep time 6.0))

これを

$ echo sample.hy | hy2py3

でコンバートすると……こうなります

import time
import serial
ser = serial.Serial('/dev/ttyACM0', 57600)


def robotTask(dist):
    return ser.write(str.encode('task,' + dist + '\n'))


robotTask('up')
for x in ['right', 'down', 'left']:
    robotTask(x)
    time.sleep(6.0)