-
-
Notifications
You must be signed in to change notification settings - Fork 224
Expand file tree
/
Copy pathiter.po
More file actions
137 lines (125 loc) · 4.36 KB
/
iter.po
File metadata and controls
137 lines (125 loc) · 4.36 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
136
137
# Copyright (C) 2001-2025, Python Software Foundation
# This file is distributed under the same license as the Python package.
#
# Translators:
# Liang-Bo Wang <me@liang2.tw>, 2015
# Matt Wang <mattwang44@gmail.com>, 2023
msgid ""
msgstr ""
"Project-Id-Version: Python 3.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-01 22:24+0800\n"
"PO-Revision-Date: 2023-07-01 03:44+0800\n"
"Last-Translator: Matt Wang <mattwang44@gmail.com>\n"
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
"tw)\n"
"Language: zh_TW\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"
"X-Generator: Poedit 3.2.2\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 ""
"如果物件 *o* 可以安全地傳遞給 :c:func:`PyIter_Next` 則回傳非零 (non-zero),否"
"則回傳 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` 不同結果的列舉 (enum) 值。"
#: ../../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 ""
"如果疊代器有產生 (yield) 則為 ``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``。"