我正在尝试将字符串值存储到变量中。要定义变量,我使用:
: define CREATE 0 , ;
define x
我可以轻松存储整数/浮点值以x
使用
10 x !
或者
10.0e x f!
为了访问它,我使用@
或f@
。现在我正在尝试存储一个字符串值:
s" hello world" x !
这样做的问题是它将两个值推送到堆栈(因为它是一个计数字符串),但x !
只会将项目存储在顶部,即字符串的长度。这是危险的,因为堆栈内容可能在被x
引用时已被修改,因此地址不直接低于长度(糟糕!),因此type
会失败。所以我的问题是,有没有办法将两个值(地址和长度)存储到x
?或者是否有不同的数据类型/操作数可以让我实现这一目标?
任何帮助表示赞赏。