返回空数组(Ruby)

cod*_*ude 3 ruby

我正在尝试在 Ruby 中创建一个条件语句。如果我的各种数字数组为空或 nil,它应该返回一个空数组,否则它应该对数字进行排序。这是我到目前为止。

num == nil || num.empty? ? return num : num.sort!
Run Code Online (Sandbox Code Playgroud)

...其中 num 是我的数组。但是我收到以下错误:

syntax error, unexpected tIDENTIFIER, expecting ':'
Run Code Online (Sandbox Code Playgroud)

如果 num 是数字数组或 nil,我会收到此错误。我不确定为什么这不起作用。有什么想法吗?

Car*_*and 8

要修复您的代码,请将您拥有的内容更改为以下内容之一:

num.nil? || num.empty? ? [] : num.sort

num.nil? ? [] : num.sort

(num || []).sort

num.to_a.sort
Run Code Online (Sandbox Code Playgroud)

num如果numnil,后两者转换为空数组,然后对结果进行排序。见NilClass.to_a