GNU DC 垂直显示堆栈,(f
显示堆栈)
1 2 3 4
f # to display the stack
4
3
2
1
有没有办法改变它更像FORTH?当 GNU FORTH 水平显示堆栈时, (.s
显示堆栈)
1 2 3 4 ok
.s <4> 1 2 3 4 ok
您可以在每次 dc 启动时读取的 ~/.dcrc 中创建自定义函数。
猫 ~/.dcrc
[
# if the stack is empty
[ 2 + [stack empty] p 0 :- Q ]s-
z d 0 =- 0 :-
# keep the stack in indexed array -
[ z :- z 0 <- ]s-
l-x
# restore the stack
[ 0 ;- 1 + d ;- ;- r d ;- 1 + r :- 0 ;- d 1 + ;- r !<- ]s-
1 0 ;- 1 + :-
l-x
# displays the stack horizontally
[ 0 ;- d 1 + d ;- ;- n [ ] n d d ;- 1 + r :- ;- !>- ]s-
1 0 ;- 1 + :- l-x [ ok] p 0 :-
]s-
你这样称呼它:
echo '7 16 8 9' | dc -f - -e 'l-x f'
你得到:
7 16 8 9 ok
9
8
16
7
您不能使用注册 -