标签: operators

JavaScript加号在功能名称前面

我一直在寻找关于自我调用函数的信息,在某个地方我偶然发现了这个符号:

+function(){}
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释一下+这个功能前面的符号意味着什么?

javascript function operators iif iife

840
推荐指数
3
解决办法
8万
查看次数

Python中递增和递减运算符的行为

我注意到一个预增量/减量运算符可以应用于变量(如++count).它编译,但它实际上并没有改变变量的值!

Python中预增量/减量运算符(++/ - )的行为是什么?

为什么Python偏离了C/C++中这些运算符的行为?

python increment operators decrement

756
推荐指数
8
解决办法
93万
查看次数

PHP中的@符号有什么用?

我见过@某些功能的使用,如下所示:

$fileHandle = @fopen($fileName, $writeAttributes);
Run Code Online (Sandbox Code Playgroud)

这个符号有什么用?

php error-suppression operators

557
推荐指数
8
解决办法
22万
查看次数

equ?,eql?,===和==之间有什么区别?

我试图理解这四种方法之间的区别.我知道默认情况下==调用的方法equal?在两个操作数引用完全相同的对象时返回true.

===默认情况下也调用==哪个调用equal?...好吧,所以如果所有这三个方法都没有被覆盖,那么我猜 ===,==并且equal?做同样的事情?

现在来了eql?.这是做什么的(默认情况下)?它是否调用操作数的hash/id?

为什么Ruby有这么多的平等标志?他们应该在语义上有所不同吗?

ruby comparison equality operators

537
推荐指数
6
解决办法
20万
查看次数

为什么会进入无限循环?

我有以下代码:

public class Tests {
    public static void main(String[] args) throws Exception {
        int x = 0;
        while(x<3) {
            x = x++;
            System.out.println(x);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我们知道他应该只是写x++或者x=x+1,但是x = x++它首先要归于x自身,然后再增加它.为什么x继续0作为价值?

--update

这是字节码:

public class Tests extends java.lang.Object{
public Tests();
  Code:
   0:   aload_0
   1:   invokespecial   #1; //Method java/lang/Object."<init>":()V
   4:   return

public static void main(java.lang.String[])   throws java.lang.Exception;
  Code:
   0:   iconst_0
   1:   istore_1
   2:   iload_1
   3:   iconst_3
   4:   if_icmpge   22
   7:   iload_1 …
Run Code Online (Sandbox Code Playgroud)

java loops increment operators variable-assignment

490
推荐指数
12
解决办法
2万
查看次数

PHP等式(== double equals)和identity(=== triple equals)比较运算符有何不同?

==和之间有什么区别===

  • 松散的==比较究竟是如何运作的?
  • 严格的===比较究竟是如何运作的?

什么是有用的例子?

php comparison equality operators identity-operator

483
推荐指数
9
解决办法
29万
查看次数

map(&:name)在Ruby中意味着什么?

我在RailsCast中找到了这段代码:

def tag_names
  @tag_names || tags.map(&:name).join(' ')
end
Run Code Online (Sandbox Code Playgroud)

什么是(&:name)map(&:name)意味着什么?

ruby syntax operators parameter-passing

483
推荐指数
11
解决办法
12万
查看次数

"是"运算符与整数意外行为

为什么以下在Python中出现意外行为?

>>> a = 256
>>> b = 256
>>> a is b
True           # This is an expected result
>>> a = 257
>>> b = 257
>>> a is b
False          # What happened here? Why is this False?
>>> 257 is 257
True           # Yet the literal numbers compare properly
Run Code Online (Sandbox Code Playgroud)

我使用的是Python 2.5.2.尝试一些不同版本的Python,似乎Python 2.3.3显示了99到100之间的上述行为.

基于以上所述,我可以假设Python在内部实现,使得"小"整数以不同于大整数的方式存储,is运算符可以区分.为什么泄漏抽象?当我不知道它们是否是数字时,比较两个任意对象以查看它们是否相同的更好的方法是什么?

python int identity operators python-internals

476
推荐指数
11
解决办法
6万
查看次数

当用于除法时,'/'和'//'之间有什么区别?

使用一个比另一个有好处吗?在Python 2中,它们似乎都返回相同的结果:

>>> 6/3
2
>>> 6//3
2
Run Code Online (Sandbox Code Playgroud)

python math syntax operators

431
推荐指数
9
解决办法
50万
查看次数

VB.NET中是否有条件三元运算符?

在Perl(和其他语言)中,条件三元运算符可以表示如下:

my $foo = $bar == $buz ? $cat : $dog;
Run Code Online (Sandbox Code Playgroud)

VB.NET中是否有类似的运算符?

vb.net operators conditional-operator short-circuiting

426
推荐指数
3
解决办法
21万
查看次数