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

!が出現したときに ❗ などの絵文字に変換する #40

Closed
jiro4989 opened this issue Jun 22, 2022 · 16 comments · Fixed by #41
Closed

!が出現したときに ❗ などの絵文字に変換する #40

jiro4989 opened this issue Jun 22, 2022 · 16 comments · Fixed by #41

Comments

@jiro4989
Copy link
Owner

‼️‼️‼️‼️とか ❗ 要素がやはり欲しいので、ランダムに絵文字に変換したい、が。
その場合その後ろに続くやつをどうするかが問題になる。

「バナナはおやつです!!!」とかを変換したときに「おバナナはおやつですわ❗!!」とかになる可能性がある。
つまり、絵文字に変換したあとはその後ろの文字列も合わせて変換しないとおかしくなる。

❗ を採用したら?も❓ に変換してしかるべき

@jiro4989
Copy link
Owner Author

いっそのこと読み込んだテキストに置換処理を挟んでしまうのもありなんだろうか。

!?!? ❗ ❓ などの表記ゆれを置換で統一してから処理したほうが、分岐は減る

@jiro4989
Copy link
Owner Author

と、思ったけれど普通の!を使う場合もあるので、全部どっちかに統一してしまうのはいささか乱暴か

@jiro4989
Copy link
Owner Author

とはいえ、それぞれの要素を同じグループに属させるほうが実装はきれいになる。

!: [!,!,❗]
?: [?,?,❓]

こういうグループになってるだけでも違う

@jiro4989
Copy link
Owner Author

jiro4989 commented Jun 22, 2022

これだけだと不十分で、それぞれ特性がある。

!は「全角」「感嘆符」だし、❓は「絵文字」「疑問符」だし

@jiro4989
Copy link
Owner Author

jiro4989 commented Jun 22, 2022

種類 文字 意味
全角 感嘆符
半角 ! 感嘆符
絵文字 感嘆符
全角 疑問符
半角 ? 疑問符
絵文字 疑問符

@jiro4989
Copy link
Owner Author

⁉こういう1文字もあった

@jiro4989
Copy link
Owner Author

jiro4989 commented Jun 22, 2022

種類 文字 意味
全角 感嘆符
半角 ! 感嘆符
絵文字 感嘆符
感嘆符
全角 疑問符
半角 ? 疑問符
絵文字 疑問符
疑問符

@jiro4989
Copy link
Owner Author

!2つの文字はあっても、?2つの絵文字は無いのか

@jiro4989
Copy link
Owner Author

これらの絵文字に何らかの分類を与えないと、どれかから1つ選ぶ実装はできない

@jiro4989
Copy link
Owner Author

こんな感じ?

種類 文字 意味
全角 感嘆符
半角 ! 感嘆符
絵文字 感嘆符
二重絵文字 感嘆符
全角 疑問符
半角 ? 疑問符
絵文字 疑問符
!?絵文字 疑問符

@jiro4989
Copy link
Owner Author

‼ と ⁉ は同じ種類のものが1個しかないから、他のやつとマッチすることはないが

@jiro4989
Copy link
Owner Author

あとは乱数周りだなぁ

@jiro4989
Copy link
Owner Author

ランダムにどれかを選ぶ機能を実装すると、単体テストの時だけランダムにならないように制御できる仕組みが必要になる

@jiro4989
Copy link
Owner Author

これ、割りと面倒だな。!を見つけた状態を維持しつつ、次のやつが違うやつだと無効化しないといけない。
また後日考えよう

@jiro4989
Copy link
Owner Author

!がでたらですわ~!付け足すやつと干渉しそうで危ういな

@jiro4989
Copy link
Owner Author

ですわ~!付け足してる処理のところで、次の文字を全部見てやれば良いだけだった。
寝て起きたら解決策が思い浮かんだので結果おーらい

jiro4989 added a commit that referenced this issue Jun 23, 2022
* wip

* wip

* wip

* だいたいいけた

* fix test

* fix

* fix make

* add test case

* del unused func

* add test case

* go fmt

* comment

* fix: nilアクセスが発生していたので修正

* fix: CI

* fix: path
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant