MicroBlocks的在线编程实在是方便,实时编写和改动的代码,直接就反映在ESP32里了。当读写串口时,它传入和传出的参数看起来是字符串,实际上是一个一个的字符数组,而字符都是分配在0~255上的ASC码表上的,所以后面用它来做点事儿的时候,免不了和byte array打交道。
MicroBlocks的wiki上面有byte array的介绍,但是它们有些微微的版本不同。对比一下,这个是wiki上原来有的,是旧版:
这个是把Example示例下载回来,重新打开时MicroBlocks自动转换的。看出来旧版的with all被放在了item all里面了,更规范了——难道开发者们在回避pythonic?原来的挺好的啊~~
这样理解byte array,其实就是允许重复元素、有序的集合了。为了测试,我们使用for循环,然后再试验一下as byte array。实际MicroBlocks针对byte array就提供了这么两个Block块。上面的两个版本转换时,我们能看到replace item all of list…的变化,也就是array和list竟然不区分了,这只是在命令里面,然而如果是变量类型的话,它们是有严格的区别的,array是(1,2,44,12)这样的序列,每一个元素介于0~255之间,而list则是用[]括起来的序列,元素是什么没有要求。
测试:
子函数:
联系客服