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

[Feature]: 순서를 나타내는 서수사를 지원하면 어떨까요? #303

Open
minsoo-web opened this issue Dec 4, 2024 · 11 comments · May be fixed by #307
Open

[Feature]: 순서를 나타내는 서수사를 지원하면 어떨까요? #303

minsoo-web opened this issue Dec 4, 2024 · 11 comments · May be fixed by #307
Assignees

Comments

@minsoo-web
Copy link
Member

minsoo-web commented Dec 4, 2024

Description

문득
1 -> 첫째
2 -> 둘째

이렇게 변환해야 하는 작업이 필요했어요.
es-hangul 에는 susa 가 있다보니, seosusa..? 같은 게 있으면 좋겠다고 생각났어요.
FYI) 서수사 위키

혹은 수사를 양수사와 서수사로 나누도록 옵션을 제공하는 방법도 있을 것 같아요!

Possible Solution

예상하는 인터페이스는

// 한글 네이밍으로 간단한 예시입니다
서수사(1) -> 첫째
서수사(2) -> 둘째
...
서수사(100) -> 온째
서수사(-1) -> 마지막 // 니즈가 있을까? 는 잘 모르겠네요

etc.

No response

@okinawaa
Copy link
Member

okinawaa commented Dec 8, 2024

es-hangul이 한글에만 초점을 두고 있다면 서수사는 es-hangul의 영역이 아니라고 생각하는데
josa도 이미 한국어의 문제를 해결하고 있고, 충분히 es-hangul이 한국어를 다룬다고 해도 이질감이 없어보여요.
또한 이미 susa 도 있어서 seosusa 를 es-hangul에 추가해도 너무 좋을 것 같아요.

좋은 의견 주셔서 너무 감사합니다!

혹시 seosusa 구현 및 문서화에 관심 있으신분은 이 이슈에 코맨트 부탁드리겠습니다! 🙇

@wet6123
Copy link

wet6123 commented Dec 8, 2024

Hi i really interest in this issue.
Can i try it?

@okinawaa
Copy link
Member

okinawaa commented Dec 9, 2024

@wet6123 If you could address this issue, I would greatly appreciate it.

@okinawaa
Copy link
Member

@wet6123 Providing an estimated implementation date for this feature would be greatly beneficial to users who need it.

@wet6123
Copy link

wet6123 commented Dec 11, 2024

@okinawaa
I'll try to share the first version by the end of the week(12/15)!

@okinawaa
Copy link
Member

yes~ cool!

@wet6123
Copy link

wet6123 commented Dec 14, 2024

서수사는 아래표에서 볼 수 있는 것과 같이 기본적으로는 수사와 유사하게 사용되며
1, 20 그리고 10 이상에서 일의 자리가 1, 2인 경우에 예외가 발생하는 것을 확인할 수 있습니다.
따라서 해당 케이스들을 예외로 관리하여 susa 함수에서 옵션을 제공할 수 있을 것 같습니다.
하지만 이미 susa 함수가 '숫자'와 '수관형사 여부'를 입력으로 받고 있어 seosusa로 나눠서 관리하는 것이 더 좋을 것 같다고 생각합니다.
다른 분들은 어떻게 생각하시나요?

서수사 비교

@minsoo-web
Copy link
Member Author

저는 기댓값과 역할이 다른 것 같아서, 다른 함수로 분리하는 것이 더 좋다고 생각해요.
susa 가 option 객체를 받는 형태가 아니라, boolean 변수를 받게 끔 되어있어서 susa 를 확장하는 것도 어려울 것 같다는 점도 한 몫하는 것 같아요.
@BO-LIKE-CHICKEN 수사를 작업해주신 보성님 의견도 궁금해요!

@BO-LIKE-CHICKEN
Copy link
Contributor

안녕하세요 @minsoo-web 님이 언급주셔서 제 의견을 남겨보아요.

먼저, 저도 susa 함수를 만들기 위해 이슈를 만들었을 때 다음과 같이 서수사 지원에 대한 고민을 했었어요.

#169 (comment)
Screenshot 2024-12-15 at 3 08 21 PM

당시에는 서수사에서 첫째 경우를 사용자에게 위임하고 나머지를 수 관형사를 통해 해결하면 되겠다고 생각했는데

num === 1 ? '첫째' : `${susa(num, true)}째`

10, 11, ,12 같은 사례는 고려하지 못했었네요. (열한 번째, 열두 번째 등의 응용만을 생각했어요.)

그래서 저의 생각은 다음과 같습니다.

  1. susa가 앞서 말씀주신 것처럼 boolean 변수를 받게끔 되어 있어서 susa를 확장하는 것은 아쉽게도 어려울 것 같아요.
  2. 다만 susa가 확장가능한 형태더라도 susa가 많은 변환을 지원해주는 것보다는 하나의 책임만 다 하면서 더 잘 tree shaking 되도록 따로 분리되는 것이 좋을 것 같아요. ([Bug]: amountToHangul 함수명이 괜찮은가요? #214 (comment))

언젠가는 susa도 수사와, 수 관형사로 분리되는 편이 좋을수도 있겠다는 생각이드네요 🤔

@okinawaa
Copy link
Member

저도 역할에 따른 분리, tree shaking의 이점을 갖기 위해 seosusa로 분리하는것에 찬성해요!

@wet6123
Copy link

wet6123 commented Dec 16, 2024

@minsoo-web @BO-LIKE-CHICKEN @okinawaa 좋은 의견 주셔서 감사합니다!! 😊

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 a pull request may close this issue.

4 participants