先日、LessでBEMってみたらかなりさくさくコーディングできた!という話という記事で、Sassを全力でDisったような気がしますが、
いい加減にsass3.3を導入しようとついに一念発起して、sass3.3.0.rc.3を突っ込んでみました。
Compassも1.0.0の開発版にアップデートし、いざ、SassでBEMるぞ!!!と、かの有名なBEM用Mix-in
@mixin e($name) {
  @at-root   #{&}__#{$name} {
    @content;
  }
}
@mixin m($name) {
  @at-root   #{&}--#{$name} {
    @content;
  }
}
を突っ込んでみたんですが、このMix-inでコンパイルエラー。これはrc.2にしてみたらうまくいったのですが、Compassのバージョンを落としたりが面倒くさくて挫折。rc.3のバグなのかな?と思っていました。
そして、本日、rc.4が出ていたので、改めて再トライ。しかし同じエラーが出現。これはいくら何でも。。。と思い、Sassどうした!って思っていたのですが、試しに、
@mixin e($name) {
  @at-root   &__#{$name} {
    @content;
  }
}
@mixin m($name) {
  @at-root   &--#{$name} {
    @content;
  }
}
としてみたら、コンパイルが通ってしまいました。
ちゃんとMix-inも無事動きます!
rc.3でも動きました。Oh…
もちろん、これも動きます!しかも、@at-root書かなくても大丈夫。Lessとかと全く同じ挙動です。
BEM用Mix-inなんていらんかったんや・・・・・
.foo {
	&__bar {
		
	}
}
SassのRC版は、
gem install sass --pre
Compassは、
gem install compass --pre
でインストールできます。
やっぱりSassは最強でした。
