草庐IT

number_or_nil

全部标签

ruby-on-rails - 访问嵌套哈希时如何避免 nil 元素的 NoMethodError?

这个问题在这里已经有了答案:RubyStyle:Howtocheckwhetheranestedhashelementexists(16个答案)HowtoavoidNoMethodErrorformissingelementsinnestedhashes,withoutrepeatednilchecks?(16个答案)关闭7年前。如果我尝试访问不存在的哈希元素,我会收到NoMethodError:undefinedmethod'[]'fornil:NilClass。但是,我无法预测会出现哪些元素。@param_info={}@param_info["drug"]["name"]#=>N

ruby-on-rails - 环境 : ruby\r: No such file or directory

我有Rails项目。当我尝试运行任何rake任务或rails服务器时,它给我这个错误env:ruby\r:Nosuchfileordirectory有人可以帮我吗? 最佳答案 如果您在Unix/Mac上工作,那么此错误是因为您的行结尾不正确。这是一个使用dos2unix的解决方案;您可能需要在您的系统上安装此程序。如果apt可用,您可以使用sudoaptinstalldos2unix。>正确设置你的行尾,让git管理它如何处理它们:gitconfig--globalcore.autocrlfinput>在您的目录中,您将通过运行以下

ruby - 分配给数组并替换出现的 nil 值

您好!如下所示,当为数组赋值时,如何将nil替换为0?array=[1,2,3]array[10]=2array#=>[1,2,3,nil,nil,nil,nil,nil,nil,nil,2]如果在分配时不可能,我将如何以最好的方式完成?我想到了array.map{|e|电子零??0:e},但是……谢谢! 最佳答案 赋值后改变数组:array.map!{|x|x||0}请注意,这也会将false转换为0。如果你想在赋值时使用零,会有点乱:i=10a=[1,2,3]a+=([0]*(i-a.size))[1,2,3,0,0,0,0,0

ruby - `-' : nil can't be coerced into Fixnum (TypeError)

在我的程序中,我收到一条错误消息,显示./ruby_camping.rb:91:in`-':nilcan'tbecoercedintoFixnum(TypeError)。我想做的是为我刚刚入住的客人结账。这是结账部分的代码块:defself.check_outputs"Welcometocheckout!"puts$camping.current_guestsputs"Herearethecurrentguests,whodoyouwanttocheckout?!"puts"Stateplotnumber"plot=gets.chomp.to_iguest=$camping.curre

ruby-on-rails - "if (number in range) then..."的 Ruby 快捷方式

是否有以下Ruby快捷方式?if(x>2)and(x我以为我看到了类似的东西,但找不到相关的引用资料。当然,当您不知道要查找的运算符时,很难查找。 最佳答案 if(3..9).include?x#whateverend作为旁注,您还可以对范围使用三等号运算符:if(3..9)===x#whateverend这让您也可以在case语句中使用它们:casexwhen3..9#Dosomethingwhen10..17#Dosomethingelseend 关于ruby-on-rails-"i

ruby-on-rails - `undefined method ` 查找 Assets ' for nil:NilClass`

我正在使用'rails'、'4.2.5'和wicked_pdfgem来生成和下载PDF,但是在Heroku上,它不包括使用的csswicked_pdf_stylesheet_link_tag标签。Heroku错误日志:ActionView::Template::Error(undefinedmethod'find_asset'fornil:NilClass)我是否遗漏了这里的任何配置? 最佳答案 要使其适用于开发和生产环境,请不要使用Rails.application.assets.find_asset(logical_file_p

ruby - 我如何尽可能简洁地说 "if x == A or B or C"?

我很确定ruby​​有一个成语。我只是在我的代码中有太多地方说if(x==A)||(x==B)||(x==C)do_somethingelsedo_something_elseend我知道我也可以做casexwhenA,B,Cdo_somethingelsedo_something_elseend但我更喜欢使用ifelse如果有一个很好的成语可以使它更简洁。 最佳答案 一种方式是[A,B,C].include?(x) 关于ruby-我如何尽可能简洁地说"ifx==AorBorC"?,我们

ruby-on-rails - Carrierwave - 如果未上传图像,则保存 nil

我正在尝试将图像从本地文件系统迁移到Dropbox,因此我使用CarrierwaveDropboxGem将所有图像移动到Dropbox。我能够存储从我的应用程序上传的新图像。我正在尝试移动现有图像。我正在使用Article.first.avatar?检查图像是否存在的方法,我在我的应用程序中的许多地方针对不同大小的图像使用了这种方法。当我使用上述方法查找图像是否存在时,当图像不存在于dropbox中时,它总是说true。看看我的控制台输出(2),我的上传者:classAvatar控制台输出(一)>Article.first.avatar?>false#,@model=##Article

ruby - irb 中的所有命令都给出 "NoMethodError: undefined method ` write' for nil :NilClass"

我正在尝试从IRB获取当前的ruby​​版本,但它给我这个错误:>>RUBY_VERSIONNoMethodError:undefinedmethod`write'fornil:NilClassfrom/usr/local/lib/ruby/1.9.1/irb.rb:311:in`printf'from/usr/local/lib/ruby/1.9.1/irb.rb:311:in`output_value'from/usr/local/lib/ruby/1.9.1/irb.rb:160:in`block(2levels)ineval_input'from/usr/local/lib/r

ruby-on-rails - AASM 不适用于我的 rails 3 和 ruby​​ 1.8.7(未定义方法 `name' 为 nil :NilClass )

我正在使用Rails3.2.2,带有aasmgem,我有这样的Document模型:classDocumenttruestate:readstate:closedevent:viewdotransitions:to=>:read,:from=>[:unread]endevent:closedotransitions:to=>:closed,:from=>[:read,:unread]endend现在在我的控制台上:➜✗bundleexecrailscLoadingdevelopmentenvironment(Rails3.2.2)irb(main):006:0>Document.cre