У меня есть более 150 предметов, и каждый предмет имеет следующую информацию, которую я хочу поместить в свои дефекты.
> Subject: CS222
> Pre-requisite: CS111
> Units: 4
> Priority-lvl: 3
> Semester-offered: 2
> Class: A
> Schedule: 9:00am - 10:00am (Mon & Wed)
> Slots Available: 30
> Class: B
> Schedule: 9:00am - 10:00am (Tue - Thurs)
> Slots Available: 26
> Class: C
> Schedule: 12:00nn - 01:30pm (Mon - Wed)
> Slots Available: 10
Я знаю, как писать дефакты, но проблема в том, что у меня есть две информации для каждого класса (которые явно становятся субфактами), и я не знаю, как преобразовать эту информацию в дефакты.
Я знаю, что могу сделать 4 дефекта с такой информацией, как показано ниже, но я не нахожу код эффективным. Есть ли другой способ деффектировать информацию выше?
(Deffacts subject
(subject-information
(name CS222)
(identifier 1)
(pre-requisite CS111)
(priority-lvl 3)
(units 4)
(semester-offered 2)))
(Deffacts Ident
(ident-class
(identifier 1)
(class A)
(schedule 0900-1000MW)
(stud-avail 30)))
(Deffacts Ident
(ident-class
(identifier 1)
(class B)
(schedule 0900-1000TTH)
(stud-avail 26)))
(Deffacts Ident
(ident-class
(identifier 1)
(class C)
(schedule 1200-0130MW)
(stud-avail 10)))