作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在玩 Factor,试图对串联编程有一点了解。写一个词来平方一个数字是微不足道的:
: square ( n -- n ) dup * ;
但对于我来说,我似乎无法弄清楚如何计算一个数字的立方:
: cube ( n -- n ) * * ; ! Form a
不起作用,因为推断的堆栈效果是 ( x x x -- x )
类似地
: cube ( n -- n ) dup * * ; ! Form b
也失败了。
如果我要对立方体进行硬编码,我会这样做:
3 3 * 3 *
这就是为什么我天真的猜测是形式 b。
正如我所说,我只是在玩 Factor,很想知道我在这里遗漏了什么——但这主要是出于我的好奇心。
最佳答案
有一个内置词:
IN: scratchpad 3 3 ^ .
27
或者如果你想自己写这个词:
: pow ( x n -- y ) 1 - over '[ _ * ] times ;
IN: scratchpad 5 3 pow .
125
您还可以使用 square
来构造 cube
:
: cube ( n -- n' ) dup square * ;
IN: scratchpad 6 cube .
216
关于factor-lang - 如何对一个数进行因数立方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39835710/
我是一名优秀的程序员,十分优秀!