gpt4 book ai didi

function - F# 中的嵌套函数

转载 作者:行者123 更新时间:2023-12-02 19:00:36 24 4
gpt4 key购买 nike

我有一个简单的函数,可以列出给定输入数字的每个素因数。它的组成是:

let rec f n x a = 
if x = n then
x::a
elif n % x = 0 then
f (n/x) x (x::a)
else
f n (x+1) a

let fact n = f n 2 []

fact 315
val factors : int list = [7; 5; 3; 3]

它可以工作,但我想将它变成一个函数:如何直接嵌套 f 来定义 fact ?我试图应用出色地表达的概念here ,但我无法抽象出如何将三参数函数 (f) 嵌套在一个参数一 (fact) 中。

最佳答案

  1. fact的函数体移至新行。确保它是缩进的。
  2. fact 声明和刚刚移动的函数体之间添加一个空行。
  3. 剪切fun的整个定义,并将其粘贴到您在第二步中创建的空行中。
  4. 缩进复制的代码,使其成为 fact 的本地函数。

关于function - F# 中的嵌套函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40467117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com