我正在编写一个 Wake-On-Lan 脚本,我有这段代码正在运行,我只是想更好地理解它。
这是我遇到问题的摘录:
$mac = "78ab78ab78ab" #some user input mac address reformatted to something like this one
$packet = [byte[]](,0xFF * 102)
6..101 |% { $packet[$_] = $mac[($_%6)] }
[byte[]](,0xFF * 102)
这就是说要使一个字节值数组0xFF
正确 102 次?所以packet[0]
应该等于0xFF
通过packet[101] = 0xFF
6..101 |% { $packet[$_] = $mac[($_%6)] }
这是一个循环,它对我们之前声明的 $packets 数组的一个元素进行操作,基于迭代器,该迭代器($_)
在循环中进行时增长一。我不确定$_%6
特别是%6
操作员的作用。我已经遍历了循环并输出了值(确实发生了变化),但由于我不熟悉操作员,我不确定输出的真正含义。