Tag: 引用

variables,对象和引用之间有什么区别?

到底什么是variables , 对象和引用之间的区别? 例如:它们都指向某种types,并且它们都必须具有值(除非有临时的无效types),但是它们的function和实现又是如何不同? 例: Dog myDog = new Dog(); //variable myDog that holds a reference to object Dog int x = 12; //variable x that hold a value of 12 他们有相同的概念,但他们有什么不同呢?

Javascript是否通过引用?

Javascript是通过引用还是传递值? 这里是一个来自Javascript的例子:好的部分 。 我非常困惑my的矩形函数的参数。 它实际上是undefined ,并在函数内重新定义。 没有原始参考。 如果从函数参数中删除它,内部区域function将无法访问它。 这是封闭吗? 但是没有函数返回。 var shape = function (config) { var that = {}; that.name = config.name || ""; that.area = function () { return 0; }; return that; }; var rectangle = function (config, my) { my = my || {}; my.l = config.length || 1; my.w = […]

Javascript的参考与价值

我正在寻找一些很好的综合阅读材料,当Javascript传递的东西有价值的时候,通过引用,当修改通过的项目影响的价值以外的function,当没有。 我也感兴趣的是,当分配给另一个variables是通过引用与价值,是否遵循任何不同的规则比作为函数parameter passing。 我做了大量的search,并find了很多具体的例子(其中很多都是在这里),从中我可以开始拼凑出真正的规则,但是我还没有find一个写得很好的文档描述这一切。 另外,在语言中是否有方法来控制是通过引用还是通过价值来传递? 以下是我想要了解的一些types的问题。 这些只是一个例子 – 我实际上是希望理解语言所遵循的规则,而不仅仅是具体例子的答案。 但是,这里有一些例子: function f(a,b,c) { a = 3; b.push("foo"); c.first = false; } var x = 4; var y = ["eeny", "miny", "mo"]; var z = {first: true}; f(x,y,z); 什么时候x,y和z的内容在所有不同types的f范围之外变化? function f() { var a = ["1", "2", "3"]; var b = a[1]; a[1] = "4"; // […]

Python中的==和`is`是否有区别?

我的Google-fu让我失望了 在Python中,以下两个testing是否相等(ha!)? n = 5 # Test one. if n == 5: print 'Yay!' # Test two. if n is 5: print 'Yay!' 这是否适用于你将比较实例的对象( list说)? 好吧,这样回答我的问题: L = [] L.append(1) if L == [1]: print 'Yay!' # Holds true, but… if L is [1]: print 'Yay!' # Doesn't. 所以==testing值在哪里testing,看看他们是否是同一个对象?

Windows命令解释器(CMD.EXE)如何parsing脚本?

我碰到了ss64.com ,它提供了有关如何编写Windows命令解释器将运行的批处理脚本的很好的帮助。 但是,我一直无法很好地解释批处理脚本的语法 ,如何扩展或不扩展,以及如何逃避。 以下是我无法解决的示例问题: 报价系统如何pipe理? 我做了一个TinyPerl脚本 ( foreach $i (@ARGV) { print '*' . $i ; } ),编译并调用它: my_script.exe "a ""b"" c" →输出是*a "b*c my_script.exe """abc""" →输出*"a*b*c" 内部echo命令如何工作? 这个命令里面扩展了什么? 为什么我必须在文件脚本中使用for […] %%I ,而在交互式会话中使用for […] %I ? 什么是转义字符,在什么情况下? 如何逃避百分号? 例如,我怎样才能从字面上回显%PROCESSOR_ARCHITECTURE% ? 我发现echo.exe %""PROCESSOR_ARCHITECTURE%作品,有没有更好的解决scheme? 配对如何匹配? 例: set b=a , echo %a %b% c% → %aac% set […]

何时在shellvariables中引用引号?

有人可以告诉我是否应该在shell脚本中引用variables吗? 例如,以下是正确的: xdg-open $URL [ $? -eq 2 ] 要么 xdg-open "$URL" [ "$?" -eq "2" ] 如果是这样,为什么?

Bash中单引号和双引号的区别

在Bash中,单引号( '' )和双引号( "" )之间有什么区别?

如何通过引用传递variables?

Python文档似乎不清楚参数是通过引用还是值传递的,并且以下代码会生成未更改的值“原始” class PassByReference: def __init__(self): self.variable = 'Original' self.change(self.variable) print(self.variable) def change(self, var): var = 'Changed' 有什么我可以做的,通过实际参考传递variables?

指针与参考

给一个函数原始变量时,更好的做法是: unsigned long x = 4; void func1(unsigned long& val) { val = 5; } func1(x); 要么: void func2(unsigned long* val) { *val = 5; } func2(&x); IOW:有什么理由选择一个吗?

C#字符串引用类型?

我知道C#中的“字符串”是一个引用类型。 这是在MSDN上。 但是,这段代码不能正常工作: class Test { public static void Main() { string test = "before passing"; Console.WriteLine(test); TestI(test); Console.WriteLine(test); } public static void TestI(string test) { test = "after passing"; } } 输出应该是“在传递之前”之前“传递”,因为我传递字符串作为参数,它是一个引用类型,第二个输出语句应该认识到在TestI方法中更改的文本。 但是,在“通过”之前,我得到了“通过之前”,使得它看起来不是通过价值传递。 我知道字符串是不可改变的,但我不明白这是怎么解释的。 我错过了什么? 谢谢。