This page堆栈持有?对我来说最困惑的三个是callstack,retainstack和namestack。callstack? retainstack? namestack?</p> <ul> <li>datastack</li> <li>retainstack</li> <li>调用堆栈</li> <li>namestack</li> <li>catchstack</li> </ul> <p>什么正是做这些:关于存储在延续这些类型的堆栈的因素手动会谈
回答
我肯定没有因素大师,但因为他们的名字似乎暗示着它们的使用:
datastack:用于平时的推动和值弹出。
3 4 +
使用数据叠推入'3',然后按'4'。运行'+'会弹出数据堆中的2个值,并将答案5推回到数据堆。运行的因素(至少在Linux上)的交互式会话的每一次互动后打印此栈的内容:$> 1 --- Data stack: 1 $> 2 --- Data stack: 1 2 $> + --- Data stack: 3 $> . 3 $>
调用堆栈:用哪些词是跑店和他们的个人进步,而他们的成分的话执行。想象一下,你已经定义了一个更好的版本总和:(!这是更好,因为你可以免费获得一个额外的20)
: sum' (seq-of-int -- summmation) 0 [ + ] reduce 20 + ;
。为了重用代码,你已经利用了标准因子附带的reduce
这个词。在运行时正在执行sum'
时,它调用reduce
的实现。但是,由于我们仍然需要添加额外的20,所以有人必须记录一旦reduce
返回时再次启动的位置。这些注释存储在callstack中,很可能在调试运行期间会附带一些辅助数据,以帮助调试人员了解正在发生的事情。retainstack:用于保留某种辅助数据堆上的值。在Forth中,可以滥用返回堆栈(Forth对callstack的模拟)来充当retandack。其中一个这种方法的问题是,从你的话返回没有清理你的肮脏的黑客将你跳转到不正确的位置,并大肆破坏一般。 Forth的运行时会看到你的值,期望它们成为它调用单词时会产生的好记录,并且会让你感到困惑。通过为返回地址使用单独的堆栈,Factor可以避免这种情况。
namestack:用于保存执行dynamic variables所需的数据。通过使用堆栈,您可以在执行子例程时隐藏旧名称,然后弹出绑定并恢复旧名称。
catchstack:用于支持异常处理。通过使用堆栈,子例程可以注册他们自己的专用处理程序以获取异常和影子默认行为。然后,一旦这个词回来,旧的处理程序可以通过从栈中弹出来很容易地恢复。
- 1. <%$,<%@,<%=,<%#...这是怎么回事?
- 2. <<做什么?
- 3. 在bash中,<<<用于什么?
- 4. 什么意思的符号在java中“<<<”“<< =”“<<”
- 5. 这些操作符在D 2.0中做了什么:<> =!<> =! <= !> =
- 6. 什么是PHP中的“<<< SQL”?
- 7. 什么是Swift上的+++和<<<?
- 8. operator <<:std :: cout << i <<(i << 1);
- 9. (1U << X)做什么?
- 10. C - 这是什么语法? <<
- 11. Php <<<是什么意思?
- 12. << <<超载
- 13. “1000 << 16”中的“<<”是什么意思?
- 14. matplotlib中的axes.flat是做什么的?</p> <pre><code>for i, ax in enumerate(axes.flat): </code></pre> <p>这是什么做的:
- 15. << - CONSTANT是做什么的?
- 16. 这些标记与ASP.NET MVC 2中的<%<%:<%=有什么区别?
- 17. 使用>>,>,> |,||,| <,<,<<,<<
- 18. 的Rails搞乱我的代码以“<<<<<<< HEAD”
- 19. echo <<<输出是做什么的?
- 20. 浮动元素<br /><br /><br /><br /><br /\><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
- 21. SearchStack <E>类型的搜索堆栈(堆栈<E>,E)的方法不适用于参数(堆栈<String>,字符串)
- 22. 为什么不使用<< EOF代替cat << EOF?
- 23. 超载时出现堆栈溢出<<运算符
- 24. 自定义堆栈<T> IEnumerable <T>和数组?
- 25. “<< =”在sbt设置中做什么?
- 26. 在<和<=
- 27. PHP操作<<<
- 28. PHP表达<<< EOB
- 29. print <<< HTML in php?
- 30. HTML标记:<<< HTML
什么一个有趣的语言! +1 – Irfy 2012-02-19 23:53:20