-
-
Notifications
You must be signed in to change notification settings - Fork 91
Expand file tree
/
Copy pathiter.po
More file actions
135 lines (123 loc) · 4.44 KB
/
iter.po
File metadata and controls
135 lines (123 loc) · 4.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2025, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
# Translators:
# Rafael Fontenelle <[email protected]>, 2025
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.12\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-25 16:03+0000\n"
"PO-Revision-Date: 2025-07-18 19:57+0000\n"
"Last-Translator: Rafael Fontenelle <[email protected]>, 2025\n"
"Language-Team: Chinese (China) (https://app.transifex.com/python-doc/teams/5390/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../../c-api/iter.rst:6
msgid "Iterator Protocol"
msgstr "迭代器协议"
#: ../../c-api/iter.rst:8
msgid "There are two functions specifically for working with iterators."
msgstr "迭代器有两个函数。"
#: ../../c-api/iter.rst:12
msgid ""
"Return non-zero if the object *o* can be safely passed to "
":c:func:`PyIter_Next`, and ``0`` otherwise. This function always succeeds."
msgstr ""
"如果对象Return non-zero if the object *o* 可以被安全把传给 :c:func:`PyIter_Next` "
"则返回非零值,否则返回 ``0``。 此函数总是会成功执行。"
#: ../../c-api/iter.rst:17
msgid ""
"Return non-zero if the object *o* provides the :class:`AsyncIterator` "
"protocol, and ``0`` otherwise. This function always succeeds."
msgstr "如果对象 *o* 提供了 :class:`AsyncIterator` 协议则返回非零值,否则返回 ``0``。 此函数总是会成功执行。"
#: ../../c-api/iter.rst:24
msgid ""
"Return the next value from the iterator *o*. The object must be an iterator"
" according to :c:func:`PyIter_Check` (it is up to the caller to check this)."
" If there are no remaining values, returns ``NULL`` with no exception set. "
"If an error occurs while retrieving the item, returns ``NULL`` and passes "
"along the exception."
msgstr ""
"从迭代器 *o* 返回下一个值。 对象必须可被 :c:func:`PyIter_Check` 确认为迭代器(需要调用方来负责检查)。 "
"如果没有剩余的值,则返回 ``NULL`` 并且不设置异常。 如果在获取条目时发生了错误,则返回 ``NULL`` 并且传递异常。"
#: ../../c-api/iter.rst:30
msgid ""
"To write a loop which iterates over an iterator, the C code should look "
"something like this::"
msgstr "要为迭代器编写一个一个循环,C代码应该看起来像这样 ::"
#: ../../c-api/iter.rst:33
msgid ""
"PyObject *iterator = PyObject_GetIter(obj);\n"
"PyObject *item;\n"
"\n"
"if (iterator == NULL) {\n"
" /* propagate error */\n"
"}\n"
"\n"
"while ((item = PyIter_Next(iterator))) {\n"
" /* do something with item */\n"
" ...\n"
" /* release reference when done */\n"
" Py_DECREF(item);\n"
"}\n"
"\n"
"Py_DECREF(iterator);\n"
"\n"
"if (PyErr_Occurred()) {\n"
" /* propagate error */\n"
"}\n"
"else {\n"
" /* continue doing useful work */\n"
"}"
msgstr ""
"PyObject *iterator = PyObject_GetIter(obj);\n"
"PyObject *item;\n"
"\n"
"if (iterator == NULL) {\n"
" /* 传播错误 */\n"
"}\n"
"\n"
"while ((item = PyIter_Next(iterator))) {\n"
" /* 对 item 进行一些操作 */\n"
" ...\n"
" /* 完成后释放引用 */\n"
" Py_DECREF(item);\n"
"}\n"
"\n"
"Py_DECREF(iterator);\n"
"\n"
"if (PyErr_Occurred()) {\n"
" /* 传播错误 */\n"
"}\n"
"else {\n"
" /* 继续进行有用的工作 */\n"
"}"
#: ../../c-api/iter.rst:59
msgid ""
"The enum value used to represent different results of :c:func:`PyIter_Send`."
msgstr "用于代表 :c:func:`PyIter_Send` 的不同结果的枚举值。"
#: ../../c-api/iter.rst:66
msgid "Sends the *arg* value into the iterator *iter*. Returns:"
msgstr "将 *arg* 值发送到迭代器 *iter*。 返回:"
#: ../../c-api/iter.rst:68
msgid ""
"``PYGEN_RETURN`` if iterator returns. Return value is returned via "
"*presult*."
msgstr "``PYGEN_RETURN``,如果迭代器返回的话。 返回值会通过 *presult* 来返回。"
#: ../../c-api/iter.rst:69
msgid ""
"``PYGEN_NEXT`` if iterator yields. Yielded value is returned via *presult*."
msgstr "``PYGEN_NEXT``,如果迭代器生成值的话。 生成的值会通过 *presult* 来返回。"
#: ../../c-api/iter.rst:70
msgid ""
"``PYGEN_ERROR`` if iterator has raised and exception. *presult* is set to "
"``NULL``."
msgstr "``PYGEN_ERROR``,如果迭代器引发异常的话。 *presult* 会被设为 ``NULL``。"