jjzjj

Operators

全部标签

ruby: "p *1..10"中的星号是什么意思

线p*1..10和做的完全一样(1..10).each{|x|putsx}它为您提供以下输出:$ruby-e"p*1..10"12345678910例如,在使用textmate时这是一个很好的快捷方式,但是星号有什么作用?这是如何运作的?在网上找不到任何东西... 最佳答案 这是splatoperator.您会经常看到它用于将数组拆分为函数的参数。defmy_function(param1,param2,param3)param1+param2+param3endmy_values=[2,3,5]my_function(*my_va

ruby-on-rails - 在 Ruby 中, "=>"是什么意思,它是如何工作的?

这个问题在这里已经有了答案:Whatisthe"equalsgreaterthan"operator=>inRuby?(1个回答)关闭8年前。在学习Ruby时,我偶尔会遇到“=>”运算符。通常我以的形式看到它:symbol=>value它似乎在将值传递给函数时经常使用。那个运营商到底叫什么?这是什么意思?它是Ruby内置的还是Rails和DataMapper等不同框架添加到符号类中的东西?它只与符号类一起使用吗?谢谢。

ruby - 我们什么时候在 Rails 中使用 "||="运算符?它的意义何在?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Whatdoestheoperator||=standsforinruby?我对Rails中||=运算符的用法感到困惑。我在网上找不到任何有用的东西。谁能指导我?如果您知道任何网络链接,请告诉我。我想知道以下语句的含义:@_current_user||=session[:current_user_id]&&User.find(session[:current_user_id])

ruby - Ruby 中的 "=~"运算符是什么?

我在截屏视频中看到了这个,但无法弄清楚它是什么。引用表只是将其与其他运算符一起作为通用模式匹配运算符。 最佳答案 它将字符串与正则表达式进行匹配。'你好'=~/^h/#=>0如果没有匹配,它将返回nil。如果您向它传递无效参数(即左侧或右侧不正确),它将抛出TypeError或返回false。 关于ruby-Ruby中的"=~"运算符是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

ruby - << 在 Ruby 中是什么意思?

我有代码:defmake_all_thumbs(source)sizes=['1000','1100','1200','800','600']threads=[]sizes.eachdo|s|threads什么是什么意思? 最佳答案 它可以有3个不同的含义:'在大多数情况下,'here)。那是在您的特定情况下,但还有很多其他情况您会遇到“的其他情况字符串连接:"a"将输出写入IO:io将数据写入消息摘要、HMAC或密码:shaOpenSSL::BN的左移:bn...单例类定义然后是程序流程中当前范围的神秘转变(=self改变):cl

ruby - 为什么表达式 (true == true == true) 会产生语法错误?

ruby:true==true==truesyntaxerror,unexpectedtEQ对比JavaScript:true==true==true//=>true对比C:1==1==1//=>1 最佳答案 关联方向控制运算符对其参数求值的顺序,未为==定义。方法,与===相同,!=,=~和方法也是如此(所有方法都具有相同的优先级,并且专门形成一个单独的优先级组)。Documentation因此,如果上述列表中的多个运算符被链接成一行,则应通过任一方式显式设置评估顺序括号():(true==true)==true#=>truetr

没有 else 的 Ruby 三元运算符

是否有一个ruby​​惯用法来表示“如果这样做”和“这样做”只是一个简单的命令?比如我现在在做object.method?a.action:nil将else子句留空,但我觉得可能有一种更惯用的方法可以做到这一点,而不必在末尾指定nil。(或者,我觉得在这种情况下使用多行代码会很浪费。 最佳答案 作为一般规则:您几乎不需要Ruby中的三元运算符。在C中需要它的原因是因为在C中if是一个语句,所以如果您想返回一个值,您必须使用三元运算符,即一个表达式。在Ruby中,一切都是表达式,没有语句,这使得三元运算符几乎是多余的。您可以随时更换c

ruby ,!!运算符(a/k/a 双爆炸)

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whatdoes!!meaninruby?你好,我是Ruby的新手,在任何地方都找不到“!!”的描述。方法。这是一个例子:defsigned_in?!!current_userend如果这是双重否定,为什么不说:defsigned_in?current_userend请帮忙。

ruby 运算符 "=~"

这个问题在这里已经有了答案:Whatisthe"=~"operatorinRuby?(7个答案)关闭8年前。在ruby中,我看了一些运算符,但是没找到=~。=~是做什么用的,或者它是什么意思?我看到的程序有regexs=(/\d+/)a=somestringifa=~regexs我认为它是在比较somestring是否等于数字,但是还有其他用法吗?=~运算符的正确定义是什么?

ruby - 为什么 Ruby 不支持 i++ 或 i--(递增/递减运算符)?

前/后递增/递减运算符(++和--)是非常标准的编程语言语法(至少对于过程和面向对象的语言而言).为什么Ruby不支持它们?我知道您可以使用+=和-=完成同样的事情,但是排除类似的东西似乎很奇怪,特别是因为它是如此简洁和传统。例子:i=0#=>0i+=1#=>1i#=>1i++#=>expect2,butasfarasIcantell,#=>irbignoresthesecond+andwaitsforasecondnumbertoaddtoi我知道Fixnum是不可变的,但是如果+=可以实例化一个新的Fixnum并设置它,为什么不对++?包含=字符的赋值的一致性是造成这种情况的唯一原