在这篇文章中,我们将带领您了解||=(or-equals)在Ruby中是什么意思?的全貌,包括rubyonrails是什么意思的相关情况。同时,我们还将为您介绍有关&是什么意思。(&点)在Ruby中是
在这篇文章中,我们将带领您了解||= (or-equals) 在 Ruby 中是什么意思?的全貌,包括ruby on rails是什么意思的相关情况。同时,我们还将为您介绍有关& 是什么意思。(& 点)在 Ruby 中是什么意思?、& 是什么意思(& 点)在 Ruby 中是什么意思?、'var that = this;' 是什么意思?在 JavaScript 中是什么意思?、@@variable 在 Ruby 中是什么意思?的知识,以帮助您更好地理解这个主题。
本文目录一览:- ||= (or-equals) 在 Ruby 中是什么意思?(ruby on rails是什么意思)
- & 是什么意思。(& 点)在 Ruby 中是什么意思?
- & 是什么意思(& 点)在 Ruby 中是什么意思?
- 'var that = this;' 是什么意思?在 JavaScript 中是什么意思?
- @@variable 在 Ruby 中是什么意思?
||= (or-equals) 在 Ruby 中是什么意思?(ruby on rails是什么意思)
以下代码在 Ruby 中是什么意思?
||=
它对语法有任何意义或理由吗?
答案1
小编典典这个问题在 Ruby 邮件列表和 Ruby 博客上已经被讨论得如此频繁,以至于现在 Ruby 邮件列表上甚至还有一些线程,其唯一目的是收集到Ruby
邮件列表上讨论这个问题的 所有其他线程 的链接.
这是一个:||=(或等于)线程和页面的最终列表
如果您 真的 想知道发生了什么,请查看Ruby Language Draft
Specification的第 11.4.2.3
节“Abbreviated assignments” 。
作为第一个近似值,
a ||= b
相当于
a || a = b
并且 不 等于
a = a || b
但是,这只是第一个近似值,尤其a
是在未定义的情况下。语义也不同,具体取决于它是简单的变量赋值、方法赋值还是索引赋值:
a ||= ba.c ||= ba[c] ||= b
都被区别对待。
& 是什么意思。(& 点)在 Ruby 中是什么意思?
我遇到了这行 ruby 代码。这&.
意味着什么?
@object&.method
答案1
小编典典它被称为安全导航操作员。在 Ruby 2.3.0 中引入,它允许您调用对象上的方法,而不必担心对象可能是nil
(避免undefined methodfor nil:NilClass
错误),类似于try
Rails
中的方法。
所以你可以写
@person&.spouse&.name
代替
@person.spouse.name if @person && @person.spouse
从文档:
my_object.my_method
这会将
my_method
消息发送到my_object
。任何对象都可以是接收者,但根据发送消息的方法的可见性,可能会引发NoMethodError
.你可以用
&.
来指定一个接收者, thenmy_method
不被调用,结果是nil
当接收者是nil
.
在这种情况下,my_method
不会评估 的参数。
& 是什么意思(& 点)在 Ruby 中是什么意思?
我遇到了这行 ruby 代码。这&.
意味着什么?
@object&.method
'var that = this;' 是什么意思?在 JavaScript 中是什么意思?
在我看到的一个 JavaScript 文件中:
function Somefunction(){ var that = this; ... }
声明that
并将其分配this
给它的目的是什么?
答案1
小编典典我将从一个插图开始这个答案:
var colours = [''red'', ''green'', ''blue''];document.getElementById(''element'').addEventListener(''click'', function() { // this is a reference to the element clicked on var that = this; colours.forEach(function() { // this is undefined // that is a reference to the element clicked on });});
我的回答最初用 jQuery 证明了这一点,只是略有不同:
$(''#element'').click(function(){ // this is a reference to the element clicked on var that = this; $(''.elements'').each(function(){ // this is a reference to the current element in the loop // that is still a reference to the element clicked on });});
因为this
当你调用一个新函数改变作用域时经常会发生变化,所以你不能通过使用它来访问原始值。将其别名为that
允许您仍然访问this
.
就个人而言,我不喜欢that
用作别名。它所指的内容很少很明显,尤其是当函数超过几行时。我 总是
使用更具描述性的别名。在我上面的例子中,我可能会使用clickedEl
.
@@variable 在 Ruby 中是什么意思?
什么是前面带有双 at 符号 ( @@
) 的 Ruby 变量?我对以 at 符号开头的变量的理解是它是一个实例变量,就像 PHP 中这样:
PHP版本
class Person {
public $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
红宝石等效
class Person
def set_name(name)
@name = name
end
def get_name()
@name
end
end
双 at 符号是什么@@
意思,它与单 at 符号有何不同?
关于||= (or-equals) 在 Ruby 中是什么意思?和ruby on rails是什么意思的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于& 是什么意思。(& 点)在 Ruby 中是什么意思?、& 是什么意思(& 点)在 Ruby 中是什么意思?、'var that = this;' 是什么意思?在 JavaScript 中是什么意思?、@@variable 在 Ruby 中是什么意思?等相关知识的信息别忘了在本站进行查找喔。
本文标签: