私はLuaを使って関数型プログラミングを学ぼうとしています。私はJavaの背景を持っています。 再帰的メソッドを使用してチェーンを構築したいと思います。 Javaでは、これはどういうわけか、次のようにします。関数型プログラミングで隠れ引数を持つ関数を実装するにはどうすればよいですか?
//Java
public Link buildChain() {
return buildChain(null, 0, 100);
}
private Link buildChain(Link parentLink, int count, int length) {
Link link = new Link();
link.setParentLink(parentLink);
if(count != length) {
link.setChildLink(buildChain(link, count+1, length));
}
return link;
}
もちろん、私はいくつかのクラスLinkを持っています。
これを機能的なスタイルでどのように実装すればよいですか?そのクラスのLinkは、親と子のリンクとリンクに必要な他のものを格納するテーブル(Lua)です。しかし、私はどのようにして2つの機能を果たしますか? 私はクロージャを使用しますか(プライベートメソッドはパブリックなローカル変数を使用しません)か逆カリングの種類ですか?または単にパターンマッチング?
ヒントと説明は非常に高く評価されます。 ああ、私はこの質問のタイトルを見つけるのに苦労しました。