Здравствуйте, c-smile, Вы писали:
CS>Здравствуйте, Воронков Василий, Вы писали:
ВВ>>Здравствуйте, c-smile, Вы писали:
ВВ>>Результат testTernary: "nope"
ВВ>>Результат testPM: "0;0;0"
CS>obj.x && obj.y && obj.z — проехали.
CS>Я тебе привел имплементацию такого варианта:
CS>obj.match {x:#exist, y:#exist, z:#exist }
CS>здесь проверяется наличие атрибута. Какого бы значения они не были.
ПМ позволяет пройти глубже, чем только один уровень.
Если у нас есть объект.
var Obj = {val,
{
val3,
val4
}
}
То ПМ позволит сделать и такое:
match Obj
on {P1, {P2, _}} ...
on {любая_другая_структура} ...
где первый кейс проверит структуру объекта, а потом присвоит P1=val и P2=val3
Здравствуйте, Mamut, Вы писали:
CS>>Я тебе привел имплементацию такого варианта:
CS>>obj.match {x:#exist, y:#exist, z:#exist }
CS>>здесь проверяется наличие атрибута. Какого бы значения они не были.
M>ПМ позволяет пройти глубже, чем только один уровень.
M>Если у нас есть объект.
M>M>var Obj = {val,
M> {
M> val3,
M> val4
M> }
M>}
M>
M>То ПМ позволит сделать и такое:
M>M>match Obj
M> on {P1, {P2, _}} ...
M> on {любая_другая_структура} ...
M>
Это все тот же случай, т.е. не решает проблему.
on {P1, {P2, _}} это тест на структуру самого объекта и его содержимого. Но никак не пути самого объекта
отнсительно root.
На примере CSS селекторов:
То что вы называете PM это простые селекторы: attribute, type, class, id и пр. селекторы.
То что я сделал это type +
child combinators селекторы.