expression-evaluation

    1热度

    3回答

    所以我建立一个小的应用程序,你可以计算的JavaScript代码一些作品,但我有一个巨大的“道德经”的问题: 起初我想用eval,但我发现它的危险,所以我很快找到了一个替代品。 我能找到最接近的是函数的构造,但有一件事是不计算简单的代码片段,如2 + 3,因为它需要一个return声明,而eval没有,而且也没有这比eval更好的安全性(至少从我收集的内容来看)。 是否有任何其他方式来评估字符串就

    2热度

    1回答

    之间有什么差别(1)和1 1.toString() //Will throw error 1.toFixed(1) //Will throw error (1).toString() // output "1" (1).toFixed(1) // output 1.0

    1热度

    1回答

    串从这些字符串 data = "mtcars" y = "mpg" x = c("cyl","disp") ,我试图执行一个线性模型。我试着像 epp=function(x) eval(parse(text=paste0(x,collapse="+"))) lm(data=epp(data),epp(y)~epp(x)) # Error in eval(expr, envir, en

    -3热度

    2回答

    后缀增量/减量运算符是在计算表达式之后还是在整个语句求值后计算的? #include<stdio.h> void main() { int a=0; int b=0; printf("%d %d",a||b,b++); // Output is 1 0 } 我的编译器从右向左评估printf参数。表达的回答一个|| b为1,则意味着|| B已经被评估前

    0热度

    2回答

    在使用...提供的参数列表中简单的功能,有可能是该功能查找名来自调用传递的对象的环境?如果是这样,怎么样? 这出现在问题printing matrices and vectors side by side的上下文中,但可能更一般。 在这种情况下,参数...也可以包含字符串,但不需要名称。这里是我的MWE,我尝试使用deparse(substitute()),但无济于事。 test_names <-

    2热度

    2回答

    我有一个应用程序,其中包含一个3运算符(& |!)布尔表达式求值程序,包含变量和常量。一般来说,表达式不会太长(最多可能是50个词,但通常会少很多)。可以有很多表达方式 - 我预计上限约为一百万。目前我有一个用一个非常简单的评估器编写的解析器,只需递归遍历解析树。一个限制是它必须从C++中调用。表达式之间没有共享。我想调查这个速度。 我看到了两条研究途径。 添加共享并存储指示表达式节点是否已被评估

    0热度

    1回答

    这个问题是关于通用Lisp setf宏,以及它如何评估其参数形式(和子形式) - 即只有一次,如果它们碰巧不止一次出现。 (这也部分跟进在Using get-setf-expansion在评论中给出的例子。) ;create a list of two hash tables * (defparameter hts (list (make-hash-table) (make-hash-table

    0热度

    2回答

    具体要求表达我有表达对象,其具有以下内容: 算 参数 值 提到每个简单表达可以是组合成一个复合表达式。 public SimpleExpresssion createcompound(SimpleExpression simple1,SimpleExpression simple2) { CompoundExpression ce = new CompoundExpress

    0热度

    2回答

    作为学习Racket宏观系统的练习,我一直在实现一个基于C++ catch framework的单元测试框架。其中的该框架的特点是,如果我写这样的检查: CHECK(x == y); // (check x y) 当检查违反错误信息会打印出x和y的值,即使使用的宏是完全通用的,而不像其他测试框架那样需要使用像CHECK_EQUALS,CHECK_GREATER等宏。这可能通过一些涉及表达式模板

    0热度

    1回答

    int foo(int a, int& b, int c) { int temp = a; a = b; b = c; c = temp; return a - b; } int main() { **foo(foo(a, b, c), b, foo(a, b, foo(a, b, c)));** return 0; } 哪