草庐IT

RETURN_VALUE

全部标签

ruby-on-rails - 如果存在值(value)就做某事

我经常发现自己在编写Ruby代码时会检查值是否存在,如果存在,则随后使用该值执行某些操作。例如ifsome_object.some_attribute.present?call_something(some_object.some_attribute)end如果可以这样写就好了some_object.some_attribute.presence{|val|call_something(val)}=>thereturnvalueofcall_something有人知道Ruby中或通过activesupport是否有这样的功能吗?我打开了一个pullrequest对于此功能。

ruby - Ruby 中的 return 语句不好吗?

return关键字在ruby​​中是可选的,因此对于只有一个退出点的函数,“returnresult”可以安全地替换为简单的“result”。关于何时执行此操作是否有特定于Ruby的指南?我倾向于尽可能避免使用return关键字,因为它们在procs中的不守规矩的行为。 最佳答案 ruby中的“return”仅在您尝试返回多个值时使用。例如returnval1,val2或者如果从函数中提前返回是有意义的,例如#checkifneededparamissetreturnif!param#someoperationswhichneedp

Ruby 根据 key=>value 从数组中删除重复项

我有一个MusicalTracks数组,在这个数组中,由于在多个专辑中发布,同一首歌可以出现多次。我试图将它们从数组中删除,以便列表中只显示真正的唯一元素。哈希看起来像这样:"tracks"=>[[0]{"id"=>1,"Title"=>"Intergalactic","ArtistName"=>"BeastieBoys"},[1]{"id"=>2,"Title"=>"Intergalactic","ArtistName"=>"BeastieBoys"}]我需要一种方法来根据Title键删除重复项。无论如何要这样做? 最佳答案 如果

ruby - 如何在 Ruby 中检查参数 "param[:some_value]"

我知道一些检查参数是否为零的方法ifparam[:some_value]ifparam[:some_value].present?if!param[:some_value].nil?#unlessparam[:some_value].nil?if!param[:some_value].blank?#unlessparam[:some_value].blank?哪一个是正确的并且最受欢迎?它们之间有什么区别?我宁愿使用ifparam[:some_value]因为它最简单也最短。 最佳答案 以下是nil?、blank?和present?

ruby - Ruby 中 "return x if x"的简写

我喜欢Ruby的一件事是您可以用最短的方式表达事物。我知道一个人可以在分配时做x||=a#insteadofx=aunlessx#whichisx=x||a是否有return的模拟形式?#insteadofreturnxifx我只想“说”x一次。Thisquestion询问是否只返回(什么都没有),但是当返回void以外的东西时我不知道该怎么做。 最佳答案 我几乎可以肯定,您的第二个示例不存在简写形式——也不可能在不修改Ruby语法的情况下编写简写形式——因为它不是一个足够常见的习语。对不起,兄弟,但看起来你将不得不在这个问题上冗长

ruby-on-rails - rails : accessing field value from model method

刚开始学习Rails(三)。我正在努力寻找如何做一些可能完全微不足道的事情:从该模型的方法内部访问模型实例字段的值。以我为例:defformal_name@title+""+@forename+""+@surnameend所有三个@properties(它们都是数据库中表上的字段)都返回nil。他们不应该。令人难以置信的是,http://guides.rails.info/并未讨论如何访问字段,google什么也找不到。顺便说一句,我来自Django,这里的东西很明显。 最佳答案 @语法用于实例变量,这些实例变量(例如)在Contr

Ruby 一行 if return 语句

有没有办法在Ruby上缩短这一行?if(res=bla_permission_invalid).is_a?Stringthenreturnresend上defsomething#manythingsthatlikethisif(res=bla_permission_invalid).is_a?Stringthenreturnresend#dosomethingelsereturntrueend当bla_permission_invalid的内容是这样的时候defbla_permission_invalidreturninvalid_address_report_funcifinvali

ruby-on-rails - 在 RSpec 中获取 'Bad value for range'

这是我的代码:#app/models/user.rbclassUser:modeldolet(:user){FactoryGirl.create:user}it"shouldreturnthecorrectdisplayname"doexpect(user.display_name).toeql("Chuck")endend#spec/factories/users.rbFactoryGirl.definedofactory:userdoprovider"MyString"uid"MyString"name"ChuckNorris"oauth_token"MyString"oauth_

ruby-on-rails - 事件管理员 :select drop-down defaults to current value in development but defaults to blank in production

我有以下ActiveAdmin表单:formdo|f|f.inputs"TimesheetDetails"dof.input:jobs_assigned_worker,:label=>"Worker",as::select,collection:Worker.allf.input:worked_time_hours,:label=>"WorkedTime(Hours)"f.input:worked_time_mins,:label=>"WorkedTime(Minutes)"f.input:driving_time_hours,:label=>"DrivingTime(Hours)"f

ruby - 使用 Ruby `return` 时如何防止 `yield` 出现问题

正如每个Ruby程序员最终发现的那样,调用包含return语句的block或过程可能很危险,因为这可能会退出您当前的上下文:defsome_method(&_block)puts1yield#Thefollowinglinewillneverbeexecutedinthisexample#astheyieldisactuallya`yield-and-return`.puts3enddeftestsome_methoddoputs2returnendendtest#Thisprints"1\n2\n"insteadof"1\n2\n3\n"如果您想绝对确定某些代码在您调用block或过