Scala 方法表示 returns 在 alphabet/dictionary 中找到第一个字符串
Scala method that returns the first string found in the alphabet/dictionary
例如这段代码
val stringTuple = ("BLACK", "GRAY", "WHITE")
firstInAlphabet(stringTuple)
应该return"BLACK"
。你会如何定义firstInAlphabet
?
就我个人而言,我更喜欢简单快速的实现,而不是涵盖很多情况的复杂实现。
t.productIterator.map(_.asInstanceOf[String]).min
productIterator
将元组的元素转换为迭代器。这会丢失类型信息,因此我们必须转换元素,然后使用 min 找到第一个。
如果你的元组中有非字符串元素,这个版本应该可以解决问题:
t.productIterator.map(_.toString).min
它不是转换为字符串,而是转换为字符串。
例如这段代码
val stringTuple = ("BLACK", "GRAY", "WHITE")
firstInAlphabet(stringTuple)
应该return"BLACK"
。你会如何定义firstInAlphabet
?
就我个人而言,我更喜欢简单快速的实现,而不是涵盖很多情况的复杂实现。
t.productIterator.map(_.asInstanceOf[String]).min
productIterator
将元组的元素转换为迭代器。这会丢失类型信息,因此我们必须转换元素,然后使用 min 找到第一个。
如果你的元组中有非字符串元素,这个版本应该可以解决问题:
t.productIterator.map(_.toString).min
它不是转换为字符串,而是转换为字符串。