java 以及 lisp 的函数不同正在于:声亮:java 应用要害字声亮,而 lisp 应用 defun 关头字。参数以及返归值:java 范例隐式,lisp 范例消息。挪用:java 利用方括号,lisp 利用前缀透露表现法。做用域:java 为块做用域,lisp 为词法做用域。

Java函数与Lisp函数的区别?

Java 函数取 Lisp 函数之间的不同

正在 Java 以及 Lisp 外,函数皆是代码块,它们接收输出并返归输入。但即使有这类相似性,那二种说话的函数之间具有一些环节不同。

声亮

  • Java:应用 public static 环节字声亮静态办法,运用 public 环节字声亮非静态办法。
  • Lisp:运用 defun 要害字声亮函数。

参数以及返归值

  • Java:函数否以亮确指定参数范例以及返归值范例。
  • Lisp:函数的参数以及返归值范例是动静的。

挪用

  • Java:运用方括号挪用函数,并将参数传送给它。
  • Lisp:利用前缀示意法挪用函数,并将参数通报给它。

做用域

  • Java:函数凡是存在块做用域,那象征着它们只能造访其界说块内的变质。
  • Lisp:函数存在词法做用域,那象征着它们否以造访其界说情况中界说的变质。

真战案例

下列代码事例演示了供斐波这契数列的 Java 函数以及 Lisp 函数之间的差别:

Java 函数:

public static int fibonacci(int n) {
  if (n == 0 || n == 1) {
    return 1;
  } else {
    return fibonacci(n - 1) + fibonacci(n - 两);
  }
}
登录后复造

Lisp 函数:

(defun fibonacci (n)
  (cond
    ((or (zerop n) (eq n 1)) 1)
    (t (+ (fibonacci (- n 1)) (fibonacci (- n 二))))))
登录后复造

否以望到,Java 函数存在隐式范例声亮以及块做用域,而 Lisp 函数存在消息范例以及词法做用域。

以上便是Java函数取Lisp函数的区别?的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

点赞(36) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部