我想學習使用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;
}
而顯然我會有一些類鏈接。
現在我將如何實現這一功能風格?該類鏈接將是一個表(在Lua中),存儲父鏈接和子鏈接以及Link需要的任何其他內容。但是,我將如何做這兩個功能? 我會使用閉包(儘管私有方法不使用公共方法的局部變量)還是一種倒置的咖喱?或者只是模式匹配?
任何提示和解釋將非常感激。 哦,我很難找到這個問題的標題 - 如果你有更好的主意,請說出來。