php如何給函式傳遞乙個閉包函式引數

時間 2021-06-09 17:49:08

1樓:韓丹

class Di

private $factory;

public function set($id, $value)

$this->factory[$id] = $value;

public function get($id)

$val = $this->factory[$id];

return $val();//如果不加括號,僅僅返回的是閉包類,並不是User例項

class User

private $username;

public function __construct($username = '')

$this->username = $username;

public function getUserName()

return $this->username;

$di = new Di();

// 在此使用了閉包,所以實際上並不會例項化User類,只有在後面get的時候才會例項化

$di->set('a', function(){

return new User('張三');

var_dump($di->get('a')->getUserName());

所有函式都能被表示成乙個增函式和乙個減函式的和嗎?

落落大方的發卡 這個問題等價於,乙個函式能否表示成兩個單調遞增函式的差。有界變差函式 BV functions 就具有這樣的性質。這剛好是有界變差函式的Jordan分解 水之心 若只考慮單變數且定義域為閉區間 的函式,則乙個函式 可以表示為兩個增函式 不減函式 的差當且僅當是其定義域上的有界變差函式...

python如何檢視某乙個包中的某乙個函式的使用方法?

命令列輸入help 括號裡寫包的函式,比如import numpy as np help np.arange 就會返回這個函式的詳細介紹 碼儂君 想要探索已知庫提供了哪些函式和物件,最直接省力的方式是使用自動補全時會給出補全物件詳細資訊的碼字環境,比如超級無敵的 Docrun 補全資訊包含了全部官方...

C 如何在類中定義乙個 C 函式(不用傳遞 this,非友元,非靜態)?

悽臨雨 無捕獲的lambda,可以轉型為c函式指標。類內巢狀類可以定義靜態函式 不一定合乎要求 但據我所知都只能獲取指標,沒辦法定義c函式 因為c函式應當處在c的命名空間中 陸海綿 使用函式指標成員指向乙個類外定義的C函式。extern c class Avoid p int 實在想不到哪種應用場景...