Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Terminating statements #142

Merged
merged 5 commits into from Dec 19, 2017
Merged

Conversation

ezaurum
Copy link
Collaborator

@ezaurum ezaurum commented Dec 16, 2017

체크리스트

설명

종결문

참고사항(선택사항)

Copy link
Contributor

@dakeshi dakeshi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

번역 감사드립니다. @ezaurum 님 👍
statement 에 관한 번역에 대해서 단독으로 언급되는 경우나 어감에 따라 보다는 구문으로 번역하는 것을 추천드립니다. 이 챕터에서는 statement list를 구문 목록으로 번역했습니다.

코멘트 참고하시고 의견 주시길 바랍니다. 의견이 모아지지 않는 문장의 경우, 일단 merge 진행하고 issue 게시판에서 해당 문장에 대한 번역 개선 의견 받도록 하겠습니다.

@@ -20,6 +26,28 @@ A terminating statement is one of the following:
* the statement lists in each case, including the default if present, end in a terminating statement.
8. A [labeled statement](/Statements/labeled_statements.html) labeling a terminating statement.

1. "[return](/Statements/return_statements.html)" 이나 "[goto](/Statements/goto_statements.html)" 문.
2. 내장된 [panic](/Built-in%20functions/handling_panics.html) 함수 호출.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

built-in function은 대부분의 챕터에서 내장 함수로 번역했습니다.

내장 함수인 panic 호출

@@ -20,6 +26,28 @@ A terminating statement is one of the following:
* the statement lists in each case, including the default if present, end in a terminating statement.
8. A [labeled statement](/Statements/labeled_statements.html) labeling a terminating statement.

1. "[return](/Statements/return_statements.html)" 이나 "[goto](/Statements/goto_statements.html)" 문.
2. 내장된 [panic](/Built-in%20functions/handling_panics.html) 함수 호출.
3. 종결문으로 끝나는 [블록](/Blocks/#Block).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

statement list는 구문 목록으로 번역하는게 어감이 좋을 것 같습니다.

구문 목록이 종결문으로 끝나는 블록

3. 종결문으로 끝나는 [블록](/Blocks/#Block).
4. ["if" 문](/Statements/if_statements.html)이 다음과 같을 때:
* "else" 가지가 있고,
* 양쪽 가지가 모두 종결문으로 끝난다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 번 항목은 if-else 문일 때, if문과 else문은 종결문이다 라고 이해했습니다.

if 문에 대한 else 문이 있는 경우, if 문과 else 문 모두 종결문이다.

* 양쪽 가지가 모두 종결문으로 끝난다.
5. A ["for" 문](/Statements/for_statements.html) 이 다음과 같을 때:
* "for" 문을 지칭하는 "break" 문이 없고,
* 반복 조건이 없는 경우.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for 문을 참조하는 break 문이 없고,
반복(loop)에 관한 조건이 없는 for 문

6. A ["switch" 문](/Statements/switch_statements.html) 이 다음과 같을 때:
* "switch" 문을 지칭하는 "break" 문이 없고,
* default case가 있고,
* default를 포함해서 각 case 의 문 목록이, 종결문으로 끝나거나 라벨이 ["fallthrough" 문](/Statements/fallthrough_statements.html) 인 경우.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

switch 문을 참조하는 break 문이 없고,
default case가 있으며,
default case를 비롯한 각 case 문의 구문 목록이 종결문 또는 fallthrough 문으로 끝나는 switch 문

* default를 포함해서 각 case 의 문 목록이, 종결문으로 끝나거나 라벨이 ["fallthrough" 문](/Statements/fallthrough_statements.html) 인 경우.
7. A ["select" 문](/Statements/select_statements.html) 이 다음과 같을 때:
* "select" 문을 지칭하는 "break" 문이 없고,
* default를 포함해서 각 case 의 문 목록이, 종결문으로 끝나는 경우.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

select 문을 참조하는 break 문이 없고,
default case를 비롯한 각 case 문의 구문 목록이 종결문으로 끝나는 select 문

7. A ["select" 문](/Statements/select_statements.html) 이 다음과 같을 때:
* "select" 문을 지칭하는 "break" 문이 없고,
* default를 포함해서 각 case 의 문 목록이, 종결문으로 끝나는 경우.
8. 종결문을 가리키는 [라벨 문](/Statements/labeled_statements.html).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

가리키는

labeled statement 설명에는 target 이라는 단어가 나오고, 이곳에서는 labeled 라는 단어가 사용되는데 가리키는으로 번역하는게 맞는 것인지는 고민해볼 필요가 있겠네요. 일단 번역문 유지합니다.

다른 문은 종결문이 아니다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이외의 구문은 종결문이 아니다.

A [statement list](/Blocks/) ends in a terminating statement if the list is not empty and its final non-empty statement is terminating.

[문 목록](/Blocks/) 목록이 비지 않고, 마지막 비지 않은 문이 종결문이면 문을 종결한다.
Copy link
Contributor

@dakeshi dakeshi Dec 17, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

empty에 관해서는 명확한 번역 용어가 아직 정해지지 않아서 원문을 유지하는게 좋겠습니다. non-empty도 원문 유지했는데 추천 용어 있으시면 의견 남겨주시길 바랍니다.

구문 목록의 목록이 empty가 아니고, 마지막 non-empty 문이 종결문이면 구문 목록은 종결문이다.

@@ -1,7 +1,13 @@
# Terminating statements
# [종결문(Terminating statements)](terminating-statements)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

terminating-statements -> #terminating-statements

4. ["if" 문](/Statements/if_statements.html)이 다음과 같을 때:
* "else" 가지가 있고,
* 양쪽 가지가 모두 종결문으로 끝난다.
5. A ["for" 문](/Statements/for_statements.html) 이 다음과 같을 때:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'A'는 삭제바랍니다. 그리고 아래 두 조건을 모두 만족시켜야 한다는 의미도 나타내면 좋겠습니다.

"for" 문은 다음 두 조건이 만족될 때 종결된다:

@@ -1,7 +1,13 @@
# Terminating statements
# [종결문(Terminating statements)](terminating-statements)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기서 Terminating이라는 수식어는 결국 구문이 무한이 지속되지 않고 언젠가는 끝난다는 뜻에 동감하실 겁니다. 그래서 종결문 외에 "유한문"으로 번역해도 되지 않을까요? 이건 좀 더 많은 분들의 의견을 수렴해야 할 것 같네요.

* "else" 가지가 있고,
* 양쪽 가지가 모두 종결문으로 끝난다.
5. A ["for" 문](/Statements/for_statements.html) 이 다음과 같을 때:
* "for" 문을 지칭하는 "break" 문이 없고,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

원문이 the "for" statement 이기 때문에 좀 더 의미를 명확하게 전달하기 위해 '에워싸고 있는 "for" 문를 지칭하는' 식으로 번역하면 어떨까요?

* 양쪽 가지가 모두 종결문으로 끝난다.
5. A ["for" 문](/Statements/for_statements.html) 이 다음과 같을 때:
* "for" 문을 지칭하는 "break" 문이 없고,
* 반복 조건이 없는 경우.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

번역은 좋은 것 같습니다. 그런데 이 항목과 이전 항목 모두를 만족 시켜야 한다는 의미를 전달하도록 표현하면 어떨까요?

  • 또한 무한히 반복되는 조건도 없어야 한다.

6. A ["switch" 문](/Statements/switch_statements.html) 이 다음과 같을 때:
* "switch" 문을 지칭하는 "break" 문이 없고,
* default case가 있고,
* default를 포함해서 각 case 의 문 목록이, 종결문으로 끝나거나 라벨이 ["fallthrough" 문](/Statements/fallthrough_statements.html) 인 경우.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"라벨이"는 생략해도 무방할 것 같습니다. 있는게 오히려 어색하게 들리네요.

* "switch" 문을 지칭하는 "break" 문이 없고,
* default case가 있고,
* default를 포함해서 각 case 의 문 목록이, 종결문으로 끝나거나 라벨이 ["fallthrough" 문](/Statements/fallthrough_statements.html) 인 경우.
7. A ["select" 문](/Statements/select_statements.html) 이 다음과 같을 때:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'A'는 삭제해 주시고,

"select" 문은 다음 두 조건이 만족해야 종결된다:

* default case가 있고,
* default를 포함해서 각 case 의 문 목록이, 종결문으로 끝나거나 라벨이 ["fallthrough" 문](/Statements/fallthrough_statements.html) 인 경우.
7. A ["select" 문](/Statements/select_statements.html) 이 다음과 같을 때:
* "select" 문을 지칭하는 "break" 문이 없고,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

에워싸고 있는 "select"문을 지칭하는 "break" 문이 없어야 하고,

다른 문은 종결문이 아니다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

그외 다른 구문들은 종결문 (유한문?)이 아니다.

A [statement list](/Blocks/) ends in a terminating statement if the list is not empty and its final non-empty statement is terminating.

[문 목록](/Blocks/) 목록이 비지 않고, 마지막 비지 않은 문이 종결문이면 문을 종결한다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

문 목록이라는 표현이 좀 생소한 느낌인데 그냥 "블록"으로 번역하면 어떨까요?

블록(statement list)이 종결문으로 끝났다는 말은, 블록이 비어 있지 않고, 마지막 구문이 종결문일 경우를 말한다.

@ezaurum
Copy link
Collaborator Author

ezaurum commented Dec 18, 2017

#143 토론 내용 적용

 * 참조 id 수정
 * switch 부분 번역 수정
 * 마지막 문장 말 다듬기
Copy link
Contributor

@dakeshi dakeshi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

마지막 문장은 좀 길어보이네요. 좀 더 고민이 필요할 듯.

@@ -20,6 +26,28 @@ A terminating statement is one of the following:
* the statement lists in each case, including the default if present, end in a terminating statement.
8. A [labeled statement](/Statements/labeled_statements.html) labeling a terminating statement.

1. "[return](/Statements/return_statements.html)" 이나 "[goto](/Statements/goto_statements.html)" 문.
2. 내장함수 [panic](/Built-in%20functions/handling_panics.html) 호출.
3. 구문 리스트 안에 있고 종결문으로 끝나는 [블록](/Blocks/#Block).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

구문 리스트가 종결문으로 끝나는 블록.

3. 구문 리스트 안에 있고 종결문으로 끝나는 [블록](/Blocks/#Block).
4. ["if" 문](/Statements/if_statements.html)이 다음 두 가지를 모두 만족할 때:
* "else" 가 있다.
* "if"와 "else" 모두 종결문으로 끝난다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

원문은 종결문이다 라는 느낌인데 종결문으로 끝난다. 라고 번역해도 괜찮을런지 확신이 안서네요.

* "else" 가 있다.
* "if"와 "else" 모두 종결문으로 끝난다.
5. ["for" 문](/Statements/for_statements.html) 이 다음 두 가지를 모두 만족할 때:
* 에워싸는 "for" 문을 참조하는 "break" 문이 없다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

에워싸는 이라는 표현이 좀 걸리네요. 원문에 the for가 있으니 이 for 문을 참조하는 또는 해당 for문을 참조하는 정도로 표현하는 것도 가능할 듯.

6. ["switch" 문](/Statements/switch_statements.html) 이 다음 세 가지를 모두 만족할 때:
* 에위싸는 "switch" 문을 참조하는 "break" 문이 없다.
* default case가 있다.
* default를 포함해서 각 case 의 구문 리스트가, 종결문이나 라벨 붙은 ["fallthrough" 문](/Statements/fallthrough_statements.html)으로 끝난다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

default를 포함한 각 case 의 구문 리스트는 종결문 또는 "fallthrough" 문으로 끝난다.

라벨 붙은 이란 표현은 삭제해도 충분할 것 같습니다.

* default case가 있다.
* default를 포함해서 각 case 의 구문 리스트가, 종결문이나 라벨 붙은 ["fallthrough" 문](/Statements/fallthrough_statements.html)으로 끝난다.
7. ["select" 문](/Statements/select_statements.html) 이 다음 두 가지를 모두 만족할 때:
* 에워싸는 "select" 문을 참조하는 "break" 문이 없다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

에워싸는 은 for 문 코멘트 참조.

* default를 포함해서 각 case 의 구문 리스트가, 종결문이나 라벨 붙은 ["fallthrough" 문](/Statements/fallthrough_statements.html)으로 끝난다.
7. ["select" 문](/Statements/select_statements.html) 이 다음 두 가지를 모두 만족할 때:
* 에워싸는 "select" 문을 참조하는 "break" 문이 없다.
* default를 포함해서 각 case 의 구문 리스트가, 종결문으로 끝난다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

default를 포함한 각 case 의 구문 리스트는 종결문으로 끝난다.

A [statement list](/Blocks/) ends in a terminating statement if the list is not empty and its final non-empty statement is terminating.

[구문 리스트](/Blocks/)가 빈 구문(empty statement)가 아니고, 리스트에서 빈 구문(empty statement)을 제외한 마지막 구문이 종결문이라면, 해당 구문 리스트는 종결문으로 끝난다.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

구문 리스트가 빈 구문이 아니고, 리스트의 마지막 구문(마지막 구문이 빈 구문이면 빈 구문 앞에 위치한 구문)이 종결문이면 이 구문 리스트는 종결문으로 끝나는 것이다.

 * 블록 수정
 * for/switch/select 수정
 * 라벨붙은 fallthrough 문 수정
 * 마지막 문장 수정
 * 빈칸 제거
 * 종결문 번역을 아래로 옮김
@jhonghee jhonghee merged commit c904cbd into golangkorea:master Dec 19, 2017
@jhonghee
Copy link
Contributor

두분 수고가 정말 많았습니다. 어려운 섹션이었는데 번역이 멋지게 나왔네요. 👍 💯 🥇

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants