@@ -25,32 +25,33 @@ msgid "There are two functions specifically for working with iterators."
25
25
msgstr "특히 이터레이터를 사용하기 위한 두 함수가 있습니다."
26
26
27
27
#: ../../c-api/iter.rst:12
28
- #, fuzzy
29
28
msgid ""
30
29
"Return non-zero if the object *o* can be safely passed to "
31
30
":c:func:`PyIter_Next`, and ``0`` otherwise. This function always "
32
31
"succeeds."
33
- msgstr "객체 *o*\\ 가 이터레이터 프로토콜을 지원하면 참을 돌려줍니다. 이 함수는 항상 성공합니다."
32
+ msgstr ""
33
+ "객체 *o*\\ 가 :c:func:`PyIter_Next`\\ 에 안전하게 전달될 수 있으면 ``0``\\ 이 아닌 값을, 그렇지 않으면"
34
+ " ``0``\\ 을 돌려줍니다. 이 함수는 항상 성공합니다."
34
35
35
36
#: ../../c-api/iter.rst:17
36
- #, fuzzy
37
37
msgid ""
38
38
"Return non-zero if the object *o* provides the :class:`AsyncIterator` "
39
39
"protocol, and ``0`` otherwise. This function always succeeds."
40
- msgstr "객체 *o*\\ 가 이터레이터 프로토콜을 지원하면 참을 돌려줍니다. 이 함수는 항상 성공합니다."
40
+ msgstr ""
41
+ "객체 *o*\\ 가 :class:`AsyncIterator` 프로토콜을 지원하면 ``0``\\ 이 아닌 값을, 그렇지 않으면 "
42
+ "``0``\\ 을 돌려줍니다. 이 함수는 항상 성공합니다."
41
43
42
44
#: ../../c-api/iter.rst:24
43
- #, fuzzy
44
45
msgid ""
45
46
"Return the next value from the iterator *o*. The object must be an "
46
47
"iterator according to :c:func:`PyIter_Check` (it is up to the caller to "
47
48
"check this). If there are no remaining values, returns ``NULL`` with no "
48
49
"exception set. If an error occurs while retrieving the item, returns "
49
50
"``NULL`` and passes along the exception."
50
51
msgstr ""
51
- "이터레이션 *o*\\ 에서 다음 값을 반환합니다. 객체는 이터레이터 여야 합니다 (이것을 확인하는 것은 호출자 책임입니다). 남은 "
52
- "값이 없으면, 예외가 설정되지 않은 상태로 ``NULL``\\ 을 반환합니다. 항목을 꺼내는 동안 에러가 발생하면, "
53
- "``NULL``\\ 을 반환하고 예외를 전달합니다."
52
+ "이터레이터 *o*\\ 에서 다음 값을 반환합니다. 객체는 :c:func:`PyIter_Check` \\ 에 따르는 이터레이터 여야 "
53
+ "합니다 (이것을 확인하는 것은 호출자 책임입니다). 남은 값이 없으면, 예외가 설정되지 않은 상태로 ``NULL``\\ 을 "
54
+ "반환합니다. 항목을 꺼내는 동안 에러가 발생하면, ``NULL``\\ 을 반환하고 예외를 전달합니다."
54
55
55
56
#: ../../c-api/iter.rst:30
56
57
msgid ""
@@ -84,6 +85,28 @@ msgid ""
84
85
" /* continue doing useful work */\n"
85
86
"}"
86
87
msgstr ""
88
+ "PyObject *iterator = PyObject_GetIter(obj);\n"
89
+ "PyObject *item;\n"
90
+ "\n"
91
+ "if (iterator == NULL) {\n"
92
+ " /* 에러를 전파합니다 */\n"
93
+ "}\n"
94
+ "\n"
95
+ "while ((item = PyIter_Next(iterator))) {\n"
96
+ " /* item으로 뭔가 합니다 */\n"
97
+ " ...\n"
98
+ " /* 끝나면 참조를 반환합니다 */\n"
99
+ " Py_DECREF(item);\n"
100
+ "}\n"
101
+ "\n"
102
+ "Py_DECREF(iterator);\n"
103
+ "\n"
104
+ "if (PyErr_Occurred()) {\n"
105
+ " /* 에러를 전파합니다 */\n"
106
+ "}\n"
107
+ "else {\n"
108
+ " /* 쓸모있는 일을 계속합니다 */\n"
109
+ "}"
87
110
88
111
#: ../../c-api/iter.rst:59
89
112
msgid ""
0 commit comments