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

Languagesに"C++"と"C++ "(末尾に半角スペース)の2種類が存在している #1424

Closed
ghost opened this issue Aug 29, 2023 · 3 comments · Fixed by #1438
Closed

Comments

@ghost
Copy link

ghost commented Aug 29, 2023

概要

https://kenkoooo.com/atcoder/atcoder-api/v3/language_listに"C++"と"C++ "(末尾に半角スペース)の2種類が存在しています。

原因

https://github.com/kenkoooo/AtCoderProblems/blob/5737038b54891f61956031809d2e5ee2c1409a19/atcoder-problems-frontend/src/utils/LanguageNormalizer.ts
AtCoderの言語アップデートにより、normalizeLanguageに不具合が生じています。具体的には、

normalizeLanguage("C++ (GCC 9.2.1)") // 言語アップデート前
-> "C++"
normalizeLanguage("C++ 20 (gcc 12.2)") // 言語アップデート後
-> "C++ "

のようになっています。

解決策

  • language.startsWith("C++")の場合"C++"を返すようにする。
  • language.replace(/\d*\s*\(.*\)$/, "")language.replace(/\s*\d*\s*\(.*\)$/, "")に変更する。
@hiro1729
Copy link

ついでにPythonとPyPyとCythonを合わせて欲しいです!

@hotate29
Copy link
Contributor

hotate29 commented Aug 30, 2023

@hiro1729 正直なところ、PythonとCythonは合わせるべきでないと思います。名前こそ似ていますが、Cの文法を取り入れた静的な型付けなど、言語としては別物だからです。
一方、AtCoderの新環境では”Python (Cython 0.29.34)”と表示されており、これはPythonと合わせる根拠になりえます。ただ、旧環境では”Cython (0.29.16)”と表示されているので扱いが難しいかもです。

CPythonとPyPyを合わせるのは悪くないと思いますが、どっちみちこのissueで議論することではなさそう。

@hiro1729
Copy link

hiro1729 commented Sep 2, 2023

確かにそうでしたね。PythonになくてCythonにある機能もあるので分けるべきでした

This issue was closed.
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.

2 participants