标签: expression-evaluation

Resharper bug?不正确的"表达总是如此"

我相信我在resharper中发现了一个错误.假设我的代码如下:

int[] someArray = new int[10];
while (someArray  != null)
{
     //perhaps some other usage of someArray here, but not assigning it.
     SomeMethod(ref someArray );
}
Run Code Online (Sandbox Code Playgroud)

如果局部变量some​​Array在其作用域中未指定为null,则该语句someArray != null将始终为true.但是,当该变量作为ref参数提供给另一个方法时,情况并非如此,因为它可能在该方法中被赋值为null.然后resharper错误地认为someArray != null仍然是真的.

我以为我会分享这些信息,因为我不确定我应该怎么做.首先,我希望有人验证这个错误,然后将其发送给JetBrains?

c# resharper expression-evaluation

4
推荐指数
1
解决办法
3304
查看次数

在c ++中std :: cout的奇怪行为

#include <iostream>

int a(int &x) {
    x = -1;
    return x;
}

int main () {
    int x = 5;
    std::cout << a(x) << " " << x << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

为什么输出是"-1 5"?

PS:编译器是:

i686-apple-darwin11-llvm-g ++ - 4.2(GCC)4.2.1(基于Apple Inc. build 5658)(LLVM build 2336.11.00)

PS:没有任何优化编译.

c++ expression std expression-evaluation operator-precedence

4
推荐指数
1
解决办法
228
查看次数

IronRuby ScriptSource.Execute线程是否安全?

我们通过托管IronRuby引擎实现了表达式评估器.您可以在此处看到评估者的简化版本.

现在我们试图通过在许多线程中执行表达式来获得IronRuby的更多性能(我们得到了它).一个问题困扰我们 - Execute方法线程是否安全?

.net performance multithreading ironruby expression-evaluation

3
推荐指数
1
解决办法
439
查看次数

如何在 Visual Studio 2010 中查找和删除整个解决方案中的数据提示?

我注意到很多表达式求值弹出 数据提示严重减慢了调试的进出速度,因此我想删除其中的大部分(因为我需要先找到它们,是否有一个按钮?)或者如果是不是一个选项,请立即将其全部删除。

debugging performance visual-studio-2010 expression-evaluation datatip

3
推荐指数
1
解决办法
418
查看次数

使用重复参数有效评估拼接列表

我想重复一下类的插槽名称列表,两个类的插槽名称相同((current-trial *exp*)(previous *exp*)引用同一个类的实例).在每次递归时,我想评估插槽名称,以便可以获取和设置该实例的该插槽的值.下面的代码满足了这个期望,但我担心依赖于eval,因为它很慢并且不允许词汇上下文(Graham,1996).那些有效且允许词汇背景的替代配方会是什么?

(dolist (a '(letter number font color height))
  (eval 
   `(when (eq (,a (current-trial *exp*)) 
              (,a (previous *exp*)))
     (setf (,a (current-trial *exp*)) 
           (random-not-item 
            (,a (current-trial *exp*)) 
            (,a *exp*))))))
Run Code Online (Sandbox Code Playgroud)

lisp common-lisp expression-evaluation clos

3
推荐指数
1
解决办法
80
查看次数

R,data.table:对所有名称存储在向量中的列求和

来自数据表d,例如

require(data.table)
d = data.table(a = 1:4, b = 11:14, c = 21:24, group = c(1,1,2,2))
Run Code Online (Sandbox Code Playgroud)

我想对所有变量进行汇总,这些变量的名称varsToSum通过的唯一值存储在向量中group

varsToSum = c("a", "b")
Run Code Online (Sandbox Code Playgroud)

对于上述dvarsToSum,预期结果为

d[,list(a = sum(a), b = sum(b)),list(group)]

   group a  b
    1: 1 3 23
    2: 2 7 27
Run Code Online (Sandbox Code Playgroud)

相关文章:

evaluation r expression-evaluation data.table

3
推荐指数
1
解决办法
526
查看次数

(常数x)与(fn [&_] x)有何不同?

我正在使用多方法提供不同的功能,具体取决于我的项目运行的"模式"(它是一个yada api服务器,应该能够运行:dev,:prod模式等).

我正在使用mount/defstate提供关键字:

(defstate mode :start :dev)
Run Code Online (Sandbox Code Playgroud)

当我发送使用时(constantly mode),我得到错误但是当我使用(fn [& _] mode)它发送时似乎工作.

这两种形式不一样吗?或者评估它们的方式(或时间)是否存在细微差别?

clojure expression-evaluation

3
推荐指数
1
解决办法
99
查看次数

Lisp/Scheme:评估嵌套的空列表/缺点:(())

我正在使用这个Lisp 编译器进行测试

有一件事情我不明白:如果一个空列表()评估自身:

(format t "~:a" ())
;; => ()
Run Code Online (Sandbox Code Playgroud)

为什么评估几个嵌套的空列表()不会评估为空列表?

(format t "~:a" (()))
;; => EVAL: undefined function NIL
;; why not () ?

(format t "~:a" ((())))
;; => EVAL: (NIL) is not a function name; try using a symbol instead
;; why not () ?
Run Code Online (Sandbox Code Playgroud)

从我的角度来看,()NIL是相同的,所以内部空列表应该首先评估自身,然后外部列表应该“调用”新的内部评估空列表

我的头脑,我认为在进行计算时应该发生这样的情况:(粗体+斜体=当前评估的内容)

(()) => ( () ) => ( () ) => ()

似乎计划也不允许嵌套空列表调用

感谢您的阅读

lisp scheme common-lisp expression-evaluation empty-list

3
推荐指数
1
解决办法
91
查看次数

C中的表达评估

为什么打印下面的C代码? 12 12 12

int main(int argc, char const *argv[]) {
  int a = 2, *f1, *f2;
  f1 = f2 = &a;
  *f2 += *f2 += a += 2.5;
  printf("%i %i %i\n", a, *f1, *f2);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c expression-evaluation undefined-behavior

2
推荐指数
1
解决办法
567
查看次数

Boost :: spirit如何解析和调用类似c ++函数的表达式

我想用boost精神来解析像这样的表达式

function1(arg1,arg2,function2(arg1,arg2,arg3),function3(arg1,arg2))

并调用相应的c ++函数.什么应该是语法解析上面的表达式并通过phoneix :: bind()调用相应的c ++函数?

我有两种类型的函数可以调用

1)字符串函数;

wstring GetSubString(wstring stringToCut,int position,int length); wstring GetStringToken(wstring stringToTokenize,wstring seperators,int tokenNumber);

2)返回整数的函数;

int GetCount();

int GetId(wstring srcId,wstring srcType);

c++ parsing boost-spirit expression-evaluation

2
推荐指数
2
解决办法
3293
查看次数