Movable Type 備忘録

 MathOperatorExpander プラグイン

こんばんわ^^

いつも拝見させてもらってる Open MagicVox.net さんとこであると便利そうなプラグインが公開されてました。

Movable Type 4 からタグを使って四則演算が使えるようになったのですが、上記 MathOperatorExpander プラグインをインストールすることでビット演算や乱数も扱えるようになります。

ビット演算とは、2 進数を使った演算になります。 スタイルシートでの色は 16 進数で表現しますね ( ̄∇ ̄)b
また、馴染み深いお金などは 10 進数で、時間は 60 進数ですね。

ビット演算はすべての人に必要かというと・・・必要ないと思います (; ̄∇ ̄A
わたしはスクリプト内では割とビット演算を使ってます。

詳しくは説明しませんが、ビットごとに意味を持たせて、そのビットが On( 1 )だったら処理するなどのように使います。

使い方

使い方はカンタンです。
MTSetVar などで使用するグローバルモディファイア op の '+' や '-' と同様に使用します。

ただし、使用するにはビットの概念の理解が必要ですけど (; ̄∇ ̄A
わたしは幸い学生の頃講義で聞いてますので多少は理解してるつもりです。

たとえば、10 進数 13 は 2 進数で表すと 1101 となります。
1101 の各 '1' は右から順にビット 1、ビット2、ビット 3、ビット 4 といいます。各ビットの値はそれぞれ 1、2、4、8 を意味してまして、'1' となってるビットをすべて足すと、

  1. 8( ビット 4 ) + 4( ビット 3 ) + 1( ビット 1 ) = 13

となります。
もっと大きな値になると、右から順に 1、2、4、8、16、32、64、128 というようになり、各ビットをすべて足すと 255 まで表現することができます。※コンピュータの世界では 8 ビットが基本・・・と教わったように記憶してます (; ̄∇ ̄A
このように各ビットに意味を持たして、そのビットをチェックすることでいろんな分岐を行うことができるようになるわけですね ( ̄∇ ̄)b

たとえば、わたしのサイトのカテゴリを各ビットとして意味を持たすと、

  • ビット 1: ムーバブルタイプ
  • ビット 2: テンプレート
  • ビット 3: カスタマイズ
  • ビット 4: インストール
  • ビット 5: トラブルシューティング
  • ビット 6: ツール
  • ビット 7: レンタルサーバ
  • ビット 8: モブログ

とした場合、すべてのカテゴリページを表示したい場合には 11111111( 255 )となり、 テンプレート、カスタマイズだけは表示させたい場合には、00000110( 6 )となります。

これを MT のタグで表現すると以下のようになります。
実際に使えるよう記事内容修正しました。

  1. <mt:setvarblock name="cat"><$MTEntryKeywords$></mt:setvarblock>
  2.  
  3. <mt:if name="cat" value="6" op="&">
  4.     テンプレート or カスタマイズカテゴリの場合
  5. <mt:else>
  6.     テンプレート or カスタマイズカテゴリ以外の場合
  7. <mt:if>

説明が下手っぴですいません。 各カテゴリのキーワードにそれぞれ 1、2、4、8、16、32、64、128 を設定しておくことで、カテゴリページを識別することができます。
上記はほんの一例ですが、ビット演算が使えると何かと便利だと思います ( ̄∇ ̄)b

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

 

コメント用フィード