考虑:
: cell-matrix
create ( width height "name" ) over , * cells allot
does> ( x y -- addr ) dup cell+ >r @ * + cells r> + ;
这是制作矩阵的定义,然后你分配这样的值:
5 5 cell-matrix test
然后你把价值观塞进那里......他们在那里......
36 0 0 test !
(我认为)
互联网上没有任何地方可以解释这个问题。你如何显示矩阵的内容?
答案 0 :(得分:3)
如果要打印整个矩阵的内容,可以执行以下操作:
: .row ( addr u -- addr' u ) tuck 0 do @+ . loop swap cr ;
: .matrix ( u addr -- ) >body @+ rot 0 do .row loop 2drop ;
请注意,cell-matrix
没有保存行数,因此您必须将此号码提供给.matrix
。例如。像这样:
2 3 cell-matrix foo
3 ' foo .matrix
答案 1 :(得分:2)
逻辑上很简单:
100 0 0 test ! ok
400 1 0 test ! ok
0 0 test @ . 100 ok
1 0 test @ . 400 ok