在 Perl 我可以做
my @l = qw( str1 str2 str3 str4 )
在红宝石中
l = %w{ str1 str2 str3 str4 }
但在 Scala 中,我似乎陷入了困境
val l = List( "str1", "str2", "str3", "str4" )
我真的需要所有这些"
s 和,
s 吗?
在 Perl 我可以做
my @l = qw( str1 str2 str3 str4 )
在红宝石中
l = %w{ str1 str2 str3 str4 }
但在 Scala 中,我似乎陷入了困境
val l = List( "str1", "str2", "str3", "str4" )
我真的需要所有这些"
s 和,
s 吗?
你可以做
implicit class StringList(val sc: StringContext) extends AnyVal {
def qw(): List[String] =
sc.parts.flatMap(_.split(' '))(collection.breakOut)
}
qw"str1 str2 str3"
或通过隐式类:
implicit class StringList(val s: String) extends AnyVal {
def qw: List[String] = s.split(' ').toList
}
"str1 str2 str3".qw
(两者都需要 Scala 2.10,尽管第二个可以适应 Scala 2.9)