社区讨论

求一个 Lambda 大仙

学术版参与者 2已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@lodhe3sq
此快照首次捕获于
2023/10/31 06:38
2 年前
此快照最后确认于
2023/11/06 21:51
2 年前
查看原帖
编译错误啊 QAQ,有没有谁能帮忙指正一下 Y 组合子的写法啊。
CPP
#include <bits/stdc++.h>
using namespace std;

int main() {
  auto F = [=] (auto f) {
    auto f_gen = [=] (int n) {
      if (n == 0) return 1;
      else return n * f(n - 1);
    };
    return f_gen;
  };

  auto Y = [=] (auto F) {
    auto f_gen = [=] (auto self) { return F(self(self)); };
    return f_gen(f_gen);
  };

  auto f = Y(F);

  return 0;
}

回复

7 条回复,欢迎继续交流。

正在加载回复...