可以在Scala中隐藏方法吗?

时间:2013-11-18 18:47:14

标签: string scala split

昨晚,在一些不愉快的时刻,我们庆祝了我们的第五个追踪因String.split行为导致的错误的例子。在

output split '\n' map processRow

问题是,如果output为空,split将为您提供一行,即processRow可能不喜欢的空字符串。

使用String方法扩展split0很容易(我们有),如果字符串为空则返回空数组,但我们一直忘记split有这种行为,它不是mkString的正确倒数。 Soooo,来自这只狗的五口就足够了 - 我们想要隐藏split并强迫自己在split0split1之间进行选择。这可能在Scala中吗?

1 个答案:

答案 0 :(得分:0)

如你所说processRow不喜欢空字符串,你可以这样做。

output split '\n' filter(_.nonEmpty) map processRow

您还可以在scala.collection.immutable.StringLike中暂停其他便捷功能,例如StringLike.stripLineEnd,但这只会删除尾随行结束字符。