Ruby String连接和三元不好玩吗?

前端之家收集整理的这篇文章主要介绍了Ruby String连接和三元不好玩吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在以下代码中,第三行错误
TypeError:无法将false转换为String
line = "some default text"
line << " some more text" unless more.empty?
line << (even_more.empty?) ? " done." : " and even more text"

有什么更好的方法呢?

解决方法

那些parens是必要的,因为<<优先级高于? ( precedence table).解:
line << (even_more.empty? ? " done." : " and even more text")

作为旁注,请注意在构建数组时可以采用功能方法

line = [
  "some default text",("some more text" unless more.empty?),even_more.empty? ? "done." : "and even more text",].compact.join(" ")
原文链接:https://www.f2er.com/ruby/269051.html

猜你在找的Ruby相关文章