生徒の名前と、その生徒がいる学年が与えられたとき、学校の名簿を作成します。
最終的には、次のことができるようになります。
なお、生徒の名前はどれも1つだけです(小さな町ですから、仕方ないでしょう?)。また、同じ生徒を1つの学年や名簿に2回以上追加することはできません。 テストで同じ生徒を2回以上追加しようとした場合は、実装でそれが正しくないことを示す必要があります。
名簿を保持するschoolタプルを定義します。その中で生徒をどう格納するかは自由です。その後、以下に挙げるワードを実装しましょう。
<school> ( -- school ):空の学校を作ります。add-student ( school name grade -- ? ):nameをgradeに追加します。成功したらtを返し、nameがすでに追加されている場合(この学年でも他の学年でも)はfを返します。その場合、名簿は変更されません。roster ( school -- names ):すべての生徒を、学年順、次に名前のアルファベット順に並べたものです。grade ( school n -- names ):学年nの生徒を、名前のアルファベット順に並べたものです。