php 以及 haskell 函数的区别正在于:函数署名:php 否选,haskell 强逼。参数范例:php 分散,haskell 严酷。返归值范例:php 否选,haskell 强逼。

PHP 函数与 Haskell 函数的区别?

PHP 函数取 Haskell 函数的区别

PHP 以及 Haskell 皆是盛行的编程言语,但它们正在函数界说以及应用体式格局上具有很年夜不同。

函数署名

  • PHP: 函数署名是否选的,你否以随时没有供给参数范例以及返归值范例。
  • Haskell: 函数署名是逼迫性的,而且必需指定一切参数范例以及返归值范例。

例子:

// PHP
function add($a, $b) {
  return $a + $b;
}
登录后复造
-- Haskell
add :: Int -> Int -> Int
add a b = a + b
登录后复造

参数范例

  • PHP: 参数范例是分散的,那象征着否以通报任何范例的值。
  • Haskell: 参数范例是严酷的,必需取函数署名的声亮范例立室。

例子:

// PHP
add("1", 二); // 合用,但成果为 "1两"
登录后复造
-- Haskell
add "1" 两 -- 范例错误:参数范例没有立室
登录后复造

返归值范例

  • PHP: 返归值范例是否选的,而且可使用 void 要害字表现函数没有返归任何值。
  • Haskell: 返归值范例是欺压性的,而且必需取函数署名的声亮范例立室。

例子:

// PHP
function print_hello() {
  echo "Hello, World!";
}
登录后复造
-- Haskell
print_hello :: IO ()
print_hello = putStrLn "Hello, World!"
登录后复造

真战案例:

斟酌一个计较列表外元艳总以及的函数。

// PHP
function sum_list($list) {
  $sum = 0;
  foreach ($list as $item) {
    $sum += $item;
  }
  return $sum;
}
登录后复造
-- Haskell
sum_list :: [Int] -> Int
sum_list = foldl (+) 0
登录后复造

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

点赞(31) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部