12得票1回答
为什么 f<$>g<$>x 和 (f.g)<$>x 相等,尽管<$>不是右结合的?

为什么 f &lt;$&gt; g &lt;$&gt; x 等价于 (f . g) &lt;$&gt; x,尽管 &lt;$&gt; 不是右结合的? (这种等价性在 一种常用的习惯语境 中使用普通的 $ 是有效的,但当前的 $ 是右结合的!) &lt;*&gt; 与 &lt;$&gt; 具...

23得票2回答
在Raku中实现函数对象“power”运算符

在APL中有一个强大的操作符⍣,如果应用于函数f,则会叠加f的应用。如何在Raku中实现该运算符? 例如,使用以下定义的f: sub f(Int:D $i){ $i + 1 } 命令say (f ⍣ 4)(10);应该等同于say f(f(f(f(10))));。 我下面的实现是针对...

76得票43回答
评估一串简单数学表达式的字符串

挑战 这是我的编写的一个挑战(尽管我不会感到惊讶,如果它在网上以前已出现)。 编写一个函数,该函数接受一个单一参数,该参数是一个简单数学表达式的字符串表示形式,并将其评估为浮点值。 "简单表达式" 可以包括以下任何内容:正或负十进制数、+, -, *, /, (, )。表达式使用 (...

9得票6回答
使用堆栈将中缀表达式转换为后缀表达式(C ++)

我的讲师给了我一项任务,要求我创建一个程序,使用堆栈将中缀表达式转换为后缀表达式。我已经创建了堆栈类和一些函数来读取中缀表达式。 但是这个名为convertToPostfix(char * const inFix, char * const postFix)的函数,它负责使用堆栈将inFix...

19得票2回答
无法在函数内声明运算符。是Clang的bug还是规范问题?

C语言中比较奇特的一种情况是函数可以在其他函数内部声明,例如: void foo(void) { void bar(void); // Behaves as if this was written above void foo(void) bar(); } 这种情况也出现在C++...

7得票1回答
为什么导出固定声明是一个“坏主意”?

根据David MacQueen在他的《Reflections on Standard ML》报告中的说法1,词汇作用域中缀指令是从Pop-2遗留下来的不良遗产。它们使解析变得复杂,并且与模块系统不兼容,因为中缀指令无法由结构导出或在签名中指定(而添加此功能也不是一个好主意)。 现在我确实同...

9得票4回答
从中缀表达式转换为前缀表达式的过程

最近我开始学习Clojure。一般来说,它看起来很有趣,但是与以前的Ruby/C#经验相比,我无法适应一些语法上的不便。 嵌套表达式的前缀符号表示法。在Ruby中,我习惯用从左到右的方式链接/管道化复杂的表达式:some_object.map { some_expression }.sele...

8得票2回答
在R语言中,我该如何确定用户定义的中缀运算符的优先级?

假设我在R语言中有两个自定义中缀运算符:%foo%和%bar%。 我有一些使用这两个运算符的表达式,例如: x %foo% y %bar% z 我该如何确定 %foo% 和 %bar% 的运算优先级? 我该如何更改优先级,使得例如 %bar% 总是在 %foo% 之前执行?在上面的例...

9得票1回答
中缀:< >子程序的作用域如何影响EVAL?

这段代码按预期工作: sub infix:&lt;mean&gt;(*@a) { @a.sum / @a.elems } sub Mean (*@a) { @a.sum / @a.elems } say EVAL 'Mean 2, 6, 4'; # Output:...

10得票3回答
C++逻辑条件的中缀转前缀转换

我想在C++中评估一个表达式。为了评估它,我希望将该表达式转换为前缀格式。 这里是一个例子 wstring expression = "Feature1 And Feature2"; 以下是可能的方法。 expression = "Feature1 And (Feature2 Or Feat...