首页 理论教育 函数式编程:Elixir语言的练习示例

函数式编程:Elixir语言的练习示例

时间:2023-11-20 理论教育 版权反馈
【摘要】:请用本章学习到的高阶函数再次重建此模块。现在我们接到了新任务:将螺钉打包。每个包装可以装30个螺钉,耗时70毫秒。用字符串"|o---|"代表某个螺钉已经打包。修改ScrewsFactory模块,添加给螺钉打包的模拟程序。你需要使用Stream.unfold/2函数。[5]提示:你可以使用列表的第一项作为基准点,并使用Enum.split_with/2高阶函数。

函数式编程:Elixir语言的练习示例

● 第4章构建了一个名为EnchanterShop的模块,它将普通物品转换为可出售的魔法物品。请用本章学习到的高阶函数再次重建此模块。

● 本章创建了一个螺钉模块,用于加工金属螺钉。现在我们接到了新任务:将螺钉打包。每个包装可以装30个螺钉,耗时70毫秒。用字符串"|o---|"代表某个螺钉已经打包。修改ScrewsFactory模块,添加给螺钉打包的模拟程序。

● 创建一个生成斐波那契数列的函数,直到给定的数量。[4]使用流来生成。你需要使用Stream.unfold/2函数。提示:先尝试写递归版本。

● 实现Quicksort算法[5]提示:你可以使用列表的第一项作为基准点(pivot),并使用Enum.split_with/2高阶函数。

【注释】

[1]https://hexdocs.pm/elixir/Enumerable.html(www.xing528.com)

[2]https://hexdocs.pm/elixir/Kernel.SpecialForms.html#for/1

[3]http://blog.patrikstorm.com/function-currying-in-elixir

[4]https://en.wikipedia.org/wiki/Fibonacci_number

[5]https://en.wikipedia.org/wiki/Quicksort

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈