jjzjj

something_else

全部标签

Ruby if .. elsIf .. else 在一行中?

使用ruby​​三元运算符,我们可以为简单的ifelse构造编写以下逻辑:a=true?'a':'b'#=>"a"但是如果我想把它写成iffoo'a'elsifbar'b'else'c'怎么办?我可以这样写,但是有点难理解:foo=truea=foo?'a':(bar?'b':'c')#=>"a"foo=falsebar=truea=foo?'a':(bar?'b':'c')#=>"b"是否有更好的选择来处理这种情况,或者如果我们希望将if..elsif..else逻辑压缩到一行中,这是我们最好的选择吗? 最佳答案 a=(foo&&

ruby-on-rails - 我们是否将 else 与 unless 语句一起使用?

关于else语句,我们不应该将它与unless一起使用,存在一种意见?谁能解释为什么会这样,或者我们可以为所欲为吗? 最佳答案 您绝对可以将else与unless一起使用。例如:x=1unlessx>2puts"xis2orless"elseputs"xisgreaterthan2"end将打印“x等于或小于2”。但是仅仅因为您可以做某事并不意味着您应该。通常情况下,这些结构读起来很费解,您最好使用简单的if以积极的方式表达您的情况:x=1ifx 关于ruby-on-rails-我们是否

ruby - Array#delete,但返回数组?

是否有内置方法执行与Array#delete相同的功能但返回self?我想在不使用block的情况下完成它,并且比an_ary.-([el])更清晰。我可以monkeypatch一个,但似乎“紧凑的参数”方法是一种相对普遍的愿望? 最佳答案 如果你想改变原始数组,比如delete,这里有选项:ary.reject!{|e|e==42}.something_elseary.tap{|a|a.delete42}.something_else(ary.delete42;ary).something_else(ary-=[42]).some

ruby - 如何将 if..else block 的结果分配给变量?

我与同事争论在if..elseblock中分配变量的最佳方法。他的原始代码是:@products=ifparams[:category]Category.find(params[:category]).productselseProduct.allend我是这样重写的:ifparams[:category]@products=Category.find(params[:category]).productselse@products=Product.allend这也可以使用三元运算符(?:)用单行代码重写,但我们假设产品分配的长度超过100个字符并且不能放在一行中。这两个你更清楚哪个?

ruby - Ruby on Rails 中是否有简写 if(没有 else)语句?

我知道在Ruby中有一个简写的单行if/else语句:a?b:c是否只有一个if语句?而不是这样写:ifa#dosomethingend有这个的简写版本吗? 最佳答案 您可以使用后置条件(不要介意名称,它会在代码之前被评估。而do_something只会被如果条件评估为真值(即不是nil或false)则执行。do_somethingifa 关于ruby-RubyonRails中是否有简写if(没有else)语句?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - View 中 .html.erb 中的 else 语句

在Rails中,我经常遇到这样的情况,在View中我会做类似的事情123somethingelse看起来有点乱。这是处理View的可接受方式吗? 最佳答案 除非您能想出一种方法将其重写为辅助方法,否则您基本上只能坚持使用它,看起来有点丑陋。ERB就是这样,因为它旨在成为将Ruby注入(inject)其他纯文本模板的最小方式,而不是必须流线型或优雅的东西。好消息是语法高亮编辑器通常会让你的ERBblock在视觉上与您的HTML不同,因此可以显着提高可读性。这也是为什么其他表示形式如HAML的原因已经创建了语法不那么困惑的地方:-ifs

ruby - 我可以使用 `else if` 而不是 `elsif` 吗?

在elsif上使用elseif是否安全?使用elsif是否更好,因为它遵循Ruby的类型惯例?或者这是一种偏好?这是摘自一本书的一段代码。我添加了额外的end关键字并将elsif关键字替换为elseif。defdescribe(inhabitant)ifinhabitant=="sophie"puts'gender:female'puts'height:145'elseifinhabitant=="paul"puts'gender:male'puts'height:145'elseifinhabitant=="dawn"puts'gender:female'puts'height:17

Ruby 异常——为什么是 "else"?

我试图理解Ruby中的异常,但我有点困惑。我正在使用的教程说,如果发生与救援语句识别的任何异常都不匹配的异常,您可以使用“else”来捕获它:begin#-rescueOneTypeOfException#-rescueAnotherTypeOfException#-else#Otherexceptionsensure#Alwayswillbeexecutedend但是,我也看到在教程后面的“rescue”中没有指定异常就被使用了:beginfile=open("/unexistant_file")iffileputs"Fileopenedsuccessfully"endrescuef

没有 else 的 Ruby 三元运算符

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

javascript - else if 的简写

如何为elseif语句写速记?if(showvar=="instock"){//showavailable}elseif(showvar=="final3"){//showonly3available}else{//showNotavailable}我知道在只有if和else时写。但是当有elseif语句时,我该如何写呢?(showvar=="instock")?//showavailable://showNotavailable 最佳答案 您只需将elseif嵌套在:的false一侧;else子句也只是false。像这样...(s