我有一个函数,它可以为任何输入返回字符串 black
. 我想改变列表中每个不相等的元素 yellow
将其变黑并作为新列表返回。
使用filter和map从列表中删除我不想做的元素。
我还想保持它使用函数式编程,lambdas不是旧的for循环。我知道我可以在map函数中给出过滤条件,但我想避免这种情况
def change_color(color:String):String = {
return "black"
}
val cats = Seq("pink","blue","yellow")
所以输出应该是
Seq("black","black","yellow")
2条答案
按热度按时间piztneat1#
这是Map函数在集合上的常见应用程序。在你的情况下,一份清单。Map的本质是什么:
它接受一个从a到b的函数,并应用于集合的每个元素,因此,在您的例子中,您的函数是string=>string
这只是使用scala集合及其函数的开始。从这里你可以尝试折叠,平面图,分组,并行处理等。。。
k5ifujac2#
或者你可以用
Partial Function
要转换此序列这样会更简洁。