字符之 0~9:
1 2 3 4 5 6 7 8 9 10 11 |
0x30..0x39|foreach {[char]$_} 0 1 2 3 4 5 6 7 8 9 |
数字之0~9:
1 2 3 4 5 6 7 8 9 10 11 |
PS /home/phpor> 0..9 0 1 2 3 4 5 6 7 8 9 |
a~z :
1 2 3 |
$alph=@() 65..90|foreach-object{$alph+=[char]$_} $alph |
1 |
[char]'A'..[char]'D'|foreach {[char]$_} |
两个圆点的扩展需要是能计算出大小的字符(int或等价于int的char),毕竟shell中的单引号和双引号都是字符串,而不是字符,所以,单个字符需要显式转换为char,如下:
因为字符串可以取下标,取下标之后就是字符了,那么,可以如下写法:
1 2 3 4 5 |
'A'[0]..'D'[0] 65 66 67 68 |
如何再添加一个char的强制类型转换就可以输出字符了,如下:
1 2 3 4 5 |
[char[]]('A'[0]..'D'[0]) A B C D |
注意: 这个转换为的是字符数组(char[])而不是字符(char)哦
使用常规的for循环输出A~C:
1 2 3 4 |
> for($i=[int]'A'[0];$i -lt [int]'D'[0];$i++) {[char]$i;} A B C |
注意: ++ 运算只能用于number,不能用于char,所以,这里先转成int