在我的mac环境中遇到此问题,其中gcc版本如下所示:
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)
代码段来自其中一个函数.
int someFunction(int x, int n) {
int TMin_n = -(1 << (n-1));
int TMax_n = (1 << (n-1)) - 1;
int a = -2147483648;
printf("%s\n", x == a ? "true" : "false"); // true
printf("%s\n", x <= TMax_n ? "true" : "false"); // false
printf("%s\n", a <= TMax_n ? "true" : "false"); // true
printf("%d %d %d\n", TMin_n, x, TMax_n); // -2147483648 -2147483648 2147483647 …Run Code Online (Sandbox Code Playgroud) 我想检查Scala中的obj是否是Array类型,而不是关心内部是什么类型的值.有一些简单的方法来做到这一点?
var x = Array(1,2,3)
x.isInstanceOf[Array[Any]] // which is false
Run Code Online (Sandbox Code Playgroud)
我希望它是真的.
更新:
我有一个功能:
def someFunction(obj: Any) {
if (obj.isInstanceOf[Int]) {
// do something
}
if (obj.isInstanceOf[String]) {
// do something
}
if (obj.isInstanceOf[Array[Any]) {
// for each of the obj inside the Array do something
}
}
Run Code Online (Sandbox Code Playgroud)