このようなデータの印刷にはほとんど問題はありません。このようなスクリプトを作成しました
[% FOREACH comp IN company %]
[% comp.name %]
[% comp.location%]
employeedata:
[% FOREACH employee IN comp.domain.java.employee %]
[% FOREACH experiance IN employee.experiance %]
[% FOREACH obj IN ObjectDefinition%]
[% FOREACH beha IN obj.experiance %]
[% IF beha.years == experiance.years %]
[% beha.Name %],
[% LAST %]
[% END %]
[% END %]
[% END %]
[% END %]
[% END %]
[% END %]
上記のスクリプトから、ハッシュ内の 2 つのキーの「年」の値を比較し、両方が同じ場合は従業員名を出力します。以下のように動作し、このように印刷されます。
3 つの名前がある場合、このように印刷されます。
clar, larson, per,
2 つの名前がある場合は、このように印刷されます。
clar, larson,
しかし、3つの名前がある場合、このように印刷する必要があります
clar, larson or per.
このように2つの名前がある場合
clar, larson.
このように名前が1つだけある場合
clar.
名前の最大数は 3 つだけです。このように印刷する必要があり、このように印刷する方法を教えてください。間違いがあればすみません。
私もこのようにしてみました
[% FOREACH employee IN comp.domain.java.employee %]
[% FOREACH experience IN employee.experience %]
[% FOREACH obj IN ObjectDefinition%]
[% FOREACH beha IN obj.experience %]
[% IF beha.years == experience.years %]
[% IF employee.experience.size == 1 %]
[% beha.Name %].
[% ELSIF employee.experience.size == 2 %]
[% beha.Name %],[% beha.Name %].
[% ELSIF employee.experience.size == 3 %]
[% beha.Name %],[% beha.Name %]or[% beha.Name %].
[% END %]
[% END %]
[% END %]
[% END %]
[% END %]
[% END %]
ただし、名前が 1 つの場合は印刷されます。2 つの名前がある場合、このように印刷されます
clar,clar.
larson,larson.
3 つの名前がある場合、このように印刷されます
clar,clar or clar.
larson,larson or larson.
per,per or per.
私のスクリプトの何が問題なのですか? この問題を解決できません。誰か助けてください。