我知道SWIFT元组不能在运行时建立索引.但是,我使用的是POSIX终端接口(由<termios.h>
定义,它是libc的一部分).
在C代码中,我们可以通过执行以下操作来修改终端的状态:
termios_struct.c_cc[VMIN] = 0;
termios_struct.c_cc[VTIME] = 0;
将其翻译为SWIFT会引发一个错误,抱怨它是cannot access element using subscript for tuple type '(cc_t, cc_t, cc_t ...)' (aka '(UInt8, UInt8, UInt8 ...)')
.实际的元组大约有20个元素,全部为UInt8
个.
我想我可以只打印VMIN
和VTIME
的值(由<termios.h>
定义的常量),然后使用它们的值直接索引元组,但我不确定它们的值是否跨平台一致,这通常很麻烦.
处理这种情况的正确方法是什么?
编辑:这个问题是由this answer解决的另一个问题,名为Using termios
in Swift.