q / k4 66 64 63 60 58 56 + 2罚
全局变量init的惩罚,算法为56,如下所示:
56:
if[&/x in".",l:(a;A)90>*x;1@/1_,/|_[0,l?x;l,'" \n"@#x]]
58:
if[&/x in".",l:(a;A)90>*x;1@/(1_,/|_[0,l?x;l]),'" \n"@#x]
- 从if-else更改为if允许重新组织代码并摆脱“;” 在最后
60:
1@/$[&/x in".",l:(a;A)90>*x;1_,/|_[0,l?x;l];" "],'" \n"@#x;
63:
1@/$[&/x in".",l:(a;A)90>*x;1_,/|_[0,l?x;l];" "],'" \n""."in x;
- 递归打印字符而不是整个对象
- 仍然无法摆脱“。”中的身份比较x。在两个地方... :(
- 最后需要用分号,否则打印功能(1 @)会将其返回值打印到stdout。...该死
64:
2@,/$[&/x in".",l:(a;A)90>*x;1_,/|_[0,l?x;l];" "],'" \n""."in x;
编辑:
全局初始化(x :)增加了2的罚款,如果将函数包装到方括号中(如slackware建议的),则相同(
不确定更改名称空间是否也应受到惩罚)...然后是另外3
(.Q`a`A) instead of (a;A)
例:
q)\ - switch interpreter to k4
\d .Q - change to native namespace
x:"c"
if[&/x in".",l:(a;A)90>*x;1@/1_,/|_[0,l?x;l,'" \n"@#x]]
d e f g h i j k l m n o p q r s t u v w x y z a b
x:"@"
if[&/x in".",l:(a;A)90>*x;1@/1_,/|_[0,l?x;l,'" \n"@#x]]
x:"H."
if[&/x in".",l:(a;A)90>*x;1@/1_,/|_[0,l?x;l,'" \n"@#x]]
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C
D
E
F
G
x:...