Skip to content

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

Closed
@ghost

Description

概要

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*\(.*\)$/, "")に変更する。

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions