レガシーファイル

レガシーファイルに関するバナーが表示されていますか? 知っておくべきことをまとめました。


Note

ElixirやElmで、v3を使い始めたあとにこれが表示される場合、ほとんどの場合、それらのトラックがファイル構成を変更したことが原因です。 この変更への対処方法については、このドキュメントの末尾にあるセクションを参照してください。

レガシーファイルとは?

Exercismのオンラインエディターを使っていると、レガシーファイルに関する警告が表示されることがあります。 表示される理由は2つあります。

CLIで誤ってアップロードされたファイル

CLIを使っていると、好きなファイルをアップロードできます。 ただし、オンラインエディターで編集できるのは、エディターが把握しているファイルだけです。 そのため、エディターが把握していないファイルをアップロードしても編集はできず、削除したい場合に備えて警告が表示されます。

演習の変更によるファイル

演習の構成が変わることもあります。 ファイル名が変わったり、演習の構成全体が変わったりすることがあります。 こうした変更は避けるようにしていますが、現実的には正しい判断であることもあります。 たとえば、Elixirがexsファイルからexファイルへ移行したときのように、トラックがビルドシステムを変更することがあります。 また、Elmがすべてをサブディレクトリに移したときのように、言語内の標準的なディレクトリ構成が変わることもあります。

こうした場合、ファイルを自動で移行することはできないため、手作業が必要になります。 エディターには、古い解答ファイル(レガシーのバナー付き)と、新しい解答ファイルのスタブが表示されます。 古いファイルから新しいファイルへ作業内容をコピーし、変更が必要なコードを調整します。 テストが通るようになったら、古い解答ファイルを削除して、こんなことはなかったかのように忘れてしまいましょう 🙂

レガシーファイルを削除する

レガシーファイルを削除しても、以前のイテレーションには影響しません。 そのファイルは、それらのイテレーションの中にそのまま残ります。 ファイルを削除すると、エディターから提出する次のイテレーションからそのファイルが除かれるだけです。

トラック構成の変更

Elixir

2019年7月、Elixirは演習の構成を、Elixirスクリプト(*.exsファイル)を使うものから、各演習ごとの完全なMixプロジェクトへと変更しました。 v3の機能を使うには、解答をlib/<exercise_stub>.exにあるスタブファイルにコピーしてください。 テストファイルを移動する必要はありません。更新されたバージョンがすでに正しい場所にあります。

Elm

v3の公開時に、Elmは演習を変更しました。