我必须展示Haskell需要计算多少步骤(两种方式 - 最左边的最里面和最左边的最外面的).它是为了这个功能
minimum [7,4,2,8]
Run Code Online (Sandbox Code Playgroud)
最小值定义为
minimum xs = head (isort xs)
Run Code Online (Sandbox Code Playgroud)
所以最里面的(?)步骤是:
1. minimum [7,4,2,8]
2. head (isort [7,4,2,8])
3. head (isort [4,7,2,8])
4. head (isort [2,4,7,8])
5. head [2:4:7:8]
6. (The output) => 2
Run Code Online (Sandbox Code Playgroud)
我对吗?我看不到另一种方法来解决它..但应该有一个..?
(抱歉英语不好)..
感谢帮助.
你(可能)忘记了
4. head (isort [2,4,7,8])
4.1 head (2 : isort [4,7,8])
4.2 head (2 : 4 : isort [7,8])
4.3 head (2 : 4 : 7 : isort [8])
4.4 head (2 : 4 : 7 : 8 : isort [])
4.4 head (2 : 4 : 7 : 8 : [])
(only now is head's argument a value)
5. 2
Run Code Online (Sandbox Code Playgroud)
通过最外层的评估
4. head (isort [2,4,7,8])
4.1 head (2 : isort [4,7,8])
5 2
Run Code Online (Sandbox Code Playgroud)