# SOME DESCRIPTIVE TITLE. # Copyright (C) 2001-2021, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: # tomo, 2020 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-01-01 16:06+0000\n" "PO-Revision-Date: 2020-05-30 11:50+0000\n" "Last-Translator: tomo, 2020\n" "Language-Team: Japanese (https://www.transifex.com/python-doc/teams/5390/" "ja/)\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../c-api/refcounting.rst:8 msgid "Reference Counting" msgstr "参照カウント" #: ../../c-api/refcounting.rst:10 msgid "" "The macros in this section are used for managing reference counts of Python " "objects." msgstr "" "この節のマクロはPythonオブジェクトの参照カウントを管理するために使われます。" #: ../../c-api/refcounting.rst:16 msgid "" "Increment the reference count for object *o*. The object must not be " "``NULL``; if you aren't sure that it isn't ``NULL``, use :c:func:" "`Py_XINCREF`." msgstr "" "オブジェクト *o* に対する参照カウントを一つ増やします。\n" "オブジェクトが ``NULL`` であってはいけません。\n" "それが ``NULL`` ではないと確信が持てないならば、 :c:func:`Py_XINCREF` を使っ" "てください。" #: ../../c-api/refcounting.rst:22 msgid "" "Increment the reference count for object *o*. The object may be ``NULL``, " "in which case the macro has no effect." msgstr "" "オブジェクト *o* に対する参照カウントを一つ増やします。\n" "オブジェクトが ``NULL`` であってもよく、その場合マクロは何の影響も与えませ" "ん。" #: ../../c-api/refcounting.rst:28 msgid "" "Decrement the reference count for object *o*. The object must not be " "``NULL``; if you aren't sure that it isn't ``NULL``, use :c:func:" "`Py_XDECREF`. If the reference count reaches zero, the object's type's " "deallocation function (which must not be ``NULL``) is invoked." msgstr "" "オブジェクト *o* に対する参照カウントを一つ減らします。\n" "オブジェクトが ``NULL`` であってはいけません。\n" "それが ``NULL`` ではないと確信が持てないならば、 :c:func:`Py_XDECREF` を使っ" "てください。\n" "参照カウントがゼロになったら、オブジェクトの型のメモリ解放関数 (``NULL`` で" "あってはならない) が呼ばれます。" #: ../../c-api/refcounting.rst:35 msgid "" "The deallocation function can cause arbitrary Python code to be invoked (e." "g. when a class instance with a :meth:`__del__` method is deallocated). " "While exceptions in such code are not propagated, the executed code has free " "access to all Python global variables. This means that any object that is " "reachable from a global variable should be in a consistent state before :c:" "func:`Py_DECREF` is invoked. For example, code to delete an object from a " "list should copy a reference to the deleted object in a temporary variable, " "update the list data structure, and then call :c:func:`Py_DECREF` for the " "temporary variable." msgstr "" "(例えば :meth:`__del__` メソッドをもつクラスインスタンスがメモリ解放されたと" "きに)メモリ解放関数は任意のPythonコードを呼び出すことができます。このような" "コードでは例外は伝播しませんが、実行されたコードはすべてのPythonグローバル変" "数に自由にアクセスできます。これが意味するのは、 :c:func:`Py_DECREF` が呼び出" "されるより前では、グローバル変数から到達可能などんなオブジェクトも一貫した状" "態にあるべきであるということです。例えば、リストからオブジェクトを削除する" "コードは削除するオブジェクトへの参照を一時変数にコピーし、リストデータ構造を" "更新し、それから一時変数に対して :c:func:`Py_DECREF` を呼び出すべきです。" #: ../../c-api/refcounting.rst:47 msgid "" "Decrement the reference count for object *o*. The object may be ``NULL``, " "in which case the macro has no effect; otherwise the effect is the same as " "for :c:func:`Py_DECREF`, and the same warning applies." msgstr "" "オブジェクト *o* への参照カウントを一つ減らします。\n" "オブジェクトは ``NULL`` でもかまいませんが、その場合マクロは何の影響も与えま" "せん。\n" "それ以外の場合、結果は :c:func:`Py_DECREF` と同じです。\n" "また、注意すべきことも同じです。" #: ../../c-api/refcounting.rst:54 msgid "" "Decrement the reference count for object *o*. The object may be ``NULL``, " "in which case the macro has no effect; otherwise the effect is the same as " "for :c:func:`Py_DECREF`, except that the argument is also set to ``NULL``. " "The warning for :c:func:`Py_DECREF` does not apply with respect to the " "object passed because the macro carefully uses a temporary variable and sets " "the argument to ``NULL`` before decrementing its reference count." msgstr "" "*o* の参照カウントを減らします。\n" "オブジェクトは ``NULL`` でもよく、その場合このマクロは何も行いません。\n" "オブジェクトが ``NULL`` でなければ、引数を ``NULL`` にした :c:func:" "`Py_DECREF` と同じ効果をもたらします。\n" "このマクロは一時変数を使って、参照カウントをデクリメントする前に引数を " "``NULL`` にセットしてくれるので、 :c:func:`Py_DECREF` に使うときの警告を気に" "しなくてすみます。" #: ../../c-api/refcounting.rst:61 msgid "" "It is a good idea to use this macro whenever decrementing the reference " "count of an object that might be traversed during garbage collection." msgstr "" "ガベージコレクション中に追跡される可能性のあるオブジェクトの参照カウントのデ" "クリメントを行うには、このマクロを使うのがよいでしょう。" #: ../../c-api/refcounting.rst:65 msgid "" "The following functions are for runtime dynamic embedding of Python: " "``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``. They are simply " "exported function versions of :c:func:`Py_XINCREF` and :c:func:`Py_XDECREF`, " "respectively." msgstr "" "以下の関数: ``Py_IncRef(PyObject *o)``, ``Py_DecRef(PyObject *o)``, は、実行" "時の動的な Python 埋め込みで使われる関数です。これらの関数はそれぞれ :c:func:" "`Py_XINCREF` および :c:func:`Py_XDECREF` をエクスポートしただけです。" #: ../../c-api/refcounting.rst:70 msgid "" "The following functions or macros are only for use within the interpreter " "core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:" "`_Py_NewReference`, as well as the global variable :c:data:`_Py_RefTotal`." msgstr "" "以下の関数やマクロ: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:" "func:`_Py_NewReference` は、インタプリタのコアの内部においてのみ使用するため" "のものです。また、グローバル変数 :c:data:`_Py_RefTotal` も同様です。"