opDollarを使ったjQuery的なセレクタ
Contents
- 背景
- How-to
- さいごに
背景
opDollarを使うと、jQueryの$(".class")
とか$("$id")
みたいなドル記号を使った感じのアレが実装できるって思いついただけです。
How-to
opDollar
と、それに対応するopIndex
を書くだけです。
struct jQuery
{
void opIndex(Dollar.QuerySelector qs)
{
writeln(qs.selector);
}
Dollar opDollar() pure nothrow @safe @nogc { return Dollar.init; }
static struct Dollar
{
static struct QuerySelector { string selector; }
QuerySelector opCall(string str) { return QuerySelector(str); }
}
}
void main()
{
jQuery jq;
jq[$(".foo")];
}
さいごに
opDollarはいろいろな用途に使えそうです。(汚くなるけど)