在ruby中,有没有一种方法可以向用户返回nil消息,但不中断应用程序?

b91juud3  于 2022-11-22  发布在  Ruby
关注(0)|答案(1)|浏览(75)

我正在尝试找到一种方法,在GUI中为用户编写他们刚刚单击的按钮中没有任何内容
我试过一种方法

if @album[@user_choice_album].tracks[10].name == nil
                return

'但它中断了程序,并给出了一条信息,而我本来以为它会中断程序,进入下一个程序。

test.rb:192:in `draw_now_playing': undefined method `name' for nil:NilClass (NoMethodError)

            if (!(@album[@user_choice_album].tracks[10].name))\
k2arahey

k2arahey1#

看起来像是将tracks存储在一个数组中(不知道数据结构和模型的任何细节),当用户请求一个不存在的曲目时,它返回nil
这意味着,当整个tracknil时,询问该轨道的name是否是nil是没有意义的。
我想这应该对你有用:

if @album[@user_choice_album].tracks[10].nil?
  return

或简化:

return unless @album[@user_choice_album].tracks[10]

相关问题