昨晚,在一些不愉快的时刻,我们庆祝了我们的第五个追踪因String.split
行为导致的错误的例子。在
output split '\n' map processRow
问题是,如果output
为空,split
将为您提供一行,即processRow
可能不喜欢的空字符串。
使用String
方法扩展split0
很容易(我们有),如果字符串为空则返回空数组,但我们一直忘记split
有这种行为,它不是mkString
的正确倒数。 Soooo,来自这只狗的五口就足够了 - 我们想要隐藏split
并强迫自己在split0
和split1
之间进行选择。这可能在Scala中吗?
答案 0 :(得分:0)
如你所说processRow
不喜欢空字符串,你可以这样做。
output split '\n' filter(_.nonEmpty) map processRow
您还可以在scala.collection.immutable.StringLike
中暂停其他便捷功能,例如StringLike.stripLineEnd
,但这只会删除尾随行结束字符。