Ruby 语法错误,意外的tIDENTIFIER,应在重构IF/ELSE后使用关键字\u end

Ruby 语法错误,意外的tIDENTIFIER,应在重构IF/ELSE后使用关键字\u end,ruby,Ruby,我重构了这段代码: if @data.class == Fixnum bin_num = @data.to_s(2) else return results end 为此: @data.class == Fixnum ? bin_num = @data.to_s(2) : return results 我的程序在标题中出现了错误。我错过什么了吗?试试看 bin_num = @data.to_s(2) if @data.class == Fixnum or return results

我重构了这段代码:

if @data.class == Fixnum
  bin_num = @data.to_s(2)
else
  return results
end
为此:

@data.class == Fixnum ? bin_num = @data.to_s(2) : return results
我的程序在标题中出现了错误。我错过什么了吗?

试试看

bin_num = @data.to_s(2) if @data.class == Fixnum or return results
试一试

你可以用这个

return results unless @data.class == Fixnum
bin_num = @data.to_s(2)
你可以用这个

return results unless @data.class == Fixnum
bin_num = @data.to_s(2)

我写我的东西的方式有错误吗?还是因为回报,我应该这样写?顺便说一句,它是这样工作的。谢谢。我猜你在一个方法中,你想将一些值设置为
bin_num
,或者从该方法返回。是的,没错。我需要它退出。所以你不能在Ruby中使用三元流控制。。。你必须使用
和/或
,这有点不同。我建议你阅读这篇文章。我写我的文章的方式有错误吗?还是因为回报,我应该这样写?顺便说一句,它是这样工作的。谢谢。我猜你在一个方法中,你想将一些值设置为
bin_num
,或者从该方法返回。是的,没错。我需要它退出。所以你不能在Ruby中使用三元流控制。。。您必须使用
和/或
,这有点不同,我建议您阅读本文