【问题标题】:How can Lua as imperative programming language be used for functional programmingLua 作为命令式编程语言如何用于函数式编程
【发布时间】:2018-12-23 03:05:42
【问题描述】:

文档说 Lua 可用于functional 编程,但它也是imperative 编程语言。所以对于我读过的所有关于 imperativefunctional 编程的帖子,他们都说了同样的话:

Functional 编程依赖于declarative 编程语言。这个post 显示了一个比较imperativefunctional 编程特征的表格,这是解决问题的两种完全不同的方法。

那么当我使用imperative 编程语言时,如何实现functional 解决问题的方法?

【问题讨论】:

  • Lua 支持命令式和函数式编程方法。
  • @EgorSkriptunoff 是的,我读到了,但对我来说,这两者是相反的。可能是我没有正确理解它,但“在我的脑海中”一种编程语言要么是命令式的,要么是声明式的,而不是两者
  • 热水和冷水是两个对立的东西。面盆龙头混合器可以为您提供冷热水。这里没有矛盾。把 Lua 想象成一个水混合器。
  • 旧版本的 Lua 在 test 文件夹中有示例程序,包括函数式的。在lua.org/ftp/lua-5.1.5.tar.gz中尝试factorial.lua

标签: lua


【解决方案1】:

您的最佳资源将是Programming in Lua 最新第 4 版的第 74 页上的“函数式编程的味道”。在那里,Lua 的创建者采用了 Paul Hudak 和 Mark P. Jones 的研究报告 Haskell vs. Ada vs. C++ vs. Awk vs. ... An Experiment in Software Prototyping Productivity 中的一个例子.

重点是,Lua 提供了使用函数式编程模式和构造编写程序的机制。正如here 所说,函数式编程是一种编程范式。一种风格。因此,一些编程语言是专门为该范式构建的。其他的,比如 Lua,提供了多种编程机制。

【讨论】:

    猜你喜欢
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 2018-05-06
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    相关资源
    最近更新 更多