我在 lua 中有一个表,其中填充了带有字符串索引的项目。不幸的是,众所周知,lua 并没有以完美(无头痛)的方式处理这个问题,因为#运算符 和table.unpack()无法工作
t = {}
t['b'] = 2
t['a'] = 1
print("l:", #t)
print("t:", table.unpack(t))
Run Code Online (Sandbox Code Playgroud)
返回:
l: 0
t:
Run Code Online (Sandbox Code Playgroud)
有解决方案来计算项目(即:计算 lua 中的字符串索引表),但我无法找到替代品,table.unpack()有人可以帮忙吗?
所需的输出是:(2 1与我添加它们的顺序相同)
我正在使用python 2.7.我需要将一个二进制数从一个x位截断到8位(字节)我将写一个我想做的事情的例子,以便清楚,并且因为stackexchange不会因为某些原因让我写出我的问题,例:
0b1010101010100101 -> 0b10100101
Run Code Online (Sandbox Code Playgroud)
我尝试了这个解决方法:将其转换为字符串,然后将其作为子字符串切割,但我没有设法让它工作
str_cs = str(bin(cs))
str_cs = str_cs[to_cut:]
Run Code Online (Sandbox Code Playgroud)
但我面临很多问题,将它转换回二进制数...你会如何截断它?
我是Python新手,我正在使用2.7和spyder
我有一个 anduino 风格的板运行这个:
void setup() {
Serial1.begin(115200);
}
void loop() {
Serial1.write(0x80);
}
Run Code Online (Sandbox Code Playgroud)
在我的笔记本电脑上,我无法读取传入的数据,也无法将其分配给变量:
# -*- coding: utf-8 -*-
import serial
print (serial.__version__)
#3.4
ser = serial.Serial(
port='/dev/ttyUSB1',
baudrate=115200,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout = None
#timeout = 1
)
while 1:
print ser.read()
a = ser.read()
print a
Run Code Online (Sandbox Code Playgroud)
我真的不明白我做错了什么,当我尝试将 ser.read() 分配给“a”spyder crash 时,我只想读取传入的十六进制值