str是否以某种方式隐式转换为str.charAt,因此map函数有效吗?
val str = "abcdefghij"
println(List.range(0, 10).map(str));
答案 0 :(得分:5)
由于str
是字符的Seq,.map
上的str
会调用给定的索引。
例如
scala> List.range(0, 10).map(str)
res0: List[Char] = List(a, b, c, d, e, f, g, h, i, j)
// or .apply
scala> List.range(0, 10).map(str.apply)
res7: List[Char] = List(a, b, c, d, e, f, g, h, i, j)
并且str(index)
给出了索引的值,请参阅StringOps#apply(index: Int): Char
scala> "my string"(4)
res5: Char = t
其他Array
和Seq
示例,
scala> val array = Array(1, 2, 3, 4, 5)
array: Array[Int] = Array(1, 2, 3, 4, 5)
scala> List.range(0, 4).map(array)
res1: List[Int] = List(1, 2, 3, 4)
scala> val list = Seq(10, 20, 30, 40, 50)
list: Seq[Int] = List(10, 20, 30, 40, 50)
scala> List.range(0, 4).map(list)
res3: List[Int] = List(10, 20, 30, 40)