在上一次练习我们开发了四个功能,用于从各种类型的文本文件数据库读取记录。在今天的练习中,我们开发了四个用于处理这些记录的函数,包括map、fold、filter和for-each。我们还在上一次练习,这给了我们第五个处理函数。
所有四个函数都将其作为第一个参数a读者从输入中获取下一条记录的函数;我们在上一个练习中编写了一些阅读器函数,通常为特定的输入格式编写其他函数。Map同时使用读取器函数和转换器函数,并将转换器应用于每个输入记录,以与输入相同的顺序返回转换后的值的列表。Fold采用一个读取器函数、一个组合函数和一个基值,并将组合器依次应用于每个基值和输入中的下一条记录,当输入耗尽时返回最终的基值。滤波器是一个组合器;它接受一个reader函数和一个谓词,并返回一个新的reader函数,该函数只传递谓词为true的那些输入记录。For-each采用一个读取器函数和另一个过程,并依次将该过程应用于每个输入记录,仅用于其副作用,直到输入耗尽;它什么也不回。
您的任务是编写处理文本文件数据库记录的四个函数。当你完成后,欢迎你阅读或运行建议的解决方案,或在下面的评论中发布自己的解决方案或讨论练习。
页:1 2