История изменений
Исправление foror, (текущая версия) :
Я бы запилил нечто подобное в синтаксисе ЯП:
kennel.add(dog)
...
Iterator<Dog<::name>> it = kennel.iterator(Dog::name)
...
Dog<::name> entry = it.next()
print(entry)
Не знаю, нужно ли тебе сразу итерации по нескольким полям, но можно сделать так:
Iterator<> it = kennel.iterator(Dog::[name, sex])
Dog<::[name, sex]> entry = it.next()
print("${entry.name()}: ${entry.sex()}")
Изначально объект создаётся по классике. Но в хранилище он разбивается по твоему принципу. Ну, либо в самом ЯП нужно при создании добавлять тип хранения полей. Можно тоже в синтаксис это внедрить:
Dog:: dog = Dog::.new()
Array<Dog::> ...
Исправление foror, :
Я бы запилил нечто подобное в синтаксисе ЯП:
kennel.add(dog)
...
Iterator<Dog<::name>> it = kennel.iterator(Dog::name)
...
Dog<::name> entry = it.next()
print(entry)
Не знаю, нужно ли тебе сразу итерации по нескольким полям, но можно сделать так:
Iterator<> it = kennel.iterator(Dog::[name, sex])
Dog<::[name, sex]> entry = it.next()
print("${entry.name()}: ${entry.sex()}")
Изначально объект создаётся по классике. Но в хранилище он разбивается по твоему принципу. Ну, либо в самом ЯП нужно при создании добавлять тип хранения полей. Можно тоже в синтаксис это внедрить.
Исходная версия foror, :
Я бы запилил нечто подобное в синтаксисе ЯП:
kennel.add(dog)
...
Iterator<Dog<::name>> it = kennel.iterator(Dog::name)
...
Dog<::name> entry = it.next()
print(entry)
Не знаю, нужно ли тебе сразу итерации по нескольким полям, но можно сделать так:
Iterator<> it = kennel.iterator(Dog::[name, sex])
Dog<::[name, sex]> entry = it.next()
print("${entry.name()}: ${entry.sex()}")