From cd0723063c2e6e9d69011afa36b0cf01db75fbaa Mon Sep 17 00:00:00 2001 From: lacatoire Date: Mon, 23 Feb 2026 13:02:59 +0100 Subject: [PATCH 1/2] =?UTF-8?q?Closure::getCurrent=20=E3=81=AE=E7=BF=BB?= =?UTF-8?q?=E8=A8=B3=E3=82=92=E8=BF=BD=E5=8A=A0=20(PHP=208.5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit doc-en に存在する language/predefined/closure/getcurrent.xml の 日本語翻訳を追加します。 --- language/predefined/closure/getcurrent.xml | 121 +++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 language/predefined/closure/getcurrent.xml diff --git a/language/predefined/closure/getcurrent.xml b/language/predefined/closure/getcurrent.xml new file mode 100644 index 0000000000..dc907d99ee --- /dev/null +++ b/language/predefined/closure/getcurrent.xml @@ -0,0 +1,121 @@ + + + + + + Closure::getCurrent + 現在実行中のクロージャを返す + + + + &reftitle.description; + + public static ClosureClosure::getCurrent + + + + 現在実行中のクロージャを返します。このメソッドは主に、 + use キーワードを使ってクロージャ変数への参照をキャプチャすることなく、 + 再帰的なクロージャを実装するのに役立ちます。 + + + このメソッドはクロージャの内部から呼び出す必要があります。 + クロージャのコンテキスト外から呼び出すと、 + Error: Current function is not a closure. が発生します。 + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + 現在実行中の Closure インスタンスを返します。 + + + + + &reftitle.errors; + + クロージャのコンテキスト外から呼び出された場合、 + Error をスローします。 + + + + + &reftitle.examples; + + <methodname>Closure::getCurrent</methodname> の例 + + Closure::getCurrent を使って + 再帰的なフィボナッチ関数を実装する例: + + + +]]> + + + + 従来のアプローチとの比較 + + PHP 8.5 より前のバージョンでは、再帰的なクロージャを実装するには + use キーワードを使ってクロージャ変数への参照をキャプチャする必要がありました: + + + +]]> + + + Closure::getCurrent を使うアプローチでは、 + use 句で変数を参照で宣言する必要がなくなり、 + コードがよりクリーンで間違いにくくなります。 + + + + + + From 8c7c8cc454e07b5f59e65dba33aa26b361957cc6 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Mon, 23 Feb 2026 15:07:16 +0100 Subject: [PATCH 2/2] =?UTF-8?q?Remove=20=E3=82=A4=E3=83=B3=E3=82=B9?= =?UTF-8?q?=E3=82=BF=E3=83=B3=E3=82=B9=20from=20return=20value=20descripti?= =?UTF-8?q?on=20to=20match=20fromCallable=20style?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language/predefined/closure/getcurrent.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/language/predefined/closure/getcurrent.xml b/language/predefined/closure/getcurrent.xml index dc907d99ee..c94c1fa048 100644 --- a/language/predefined/closure/getcurrent.xml +++ b/language/predefined/closure/getcurrent.xml @@ -33,7 +33,7 @@ &reftitle.returnvalues; - 現在実行中の Closure インスタンスを返します。 + 現在実行中の Closure を返します。