什么相当于Scala中的Let Over Lambda?

时间:2017-08-15 00:15:21

标签: scala closures lisp

我正在努力适应" Land of Lisp"对于Scala而言,LISP可以通过使用经典的Let over Lambda模式来支持memoization。以下是Lisp中计数器的示例:

(let ((count 0))
  (defun add-one ()
    (incf count)))

如何在scala中看到它。我只是来了

val addOne = {
   var count = 0
   () => { count = count + 1; count }
}

我发现它并不优雅。有更好的建议吗?

0 个答案:

没有答案