変数操作を無駄に拡張するMovableTypeプラグイン:MathOperatorExpander

Posted by
ぴろり
Posted at
2008/03/08 18:23
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
プラグイン カテゴリ

  4 から機能が改善されたタグでは,変数に対して四則演算などの基本的な演算を行うことができるようになりました。しかし,それ以外の演算についてはサポートされておらず,今回,(その必要性は別として)各種のビット演算や切上げ・切捨て,乱数生成などが可能になるよう,これを無駄に拡張する を書いてみました。

この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する

MathOperatorExpander

最新版のやバグレポートはMathOperatorExpander の trac レポジトリでも行っています。

拡張される演算

  標準の op で指定できるパラメータに加えて,以下のパラメータを使用できるようになります。

& または and
左辺値に対して右辺値とのビットAND(論理積)を求めます。
| または or
左辺値に対して右辺値とのビットOR(論理和)を求めます。
^ または xor
左辺値に対して右辺値とのビットXOR(排他的論理和)を求めます。
または not
左辺値に対するビットNOT(論理否定)を求めます。右辺値が指定された場合,そのビットNOTを求めて左辺値として代入します。
<< または shl
左辺値に対して右辺値の値だけ左にビットシフトした値を求めます。
>> または shr
左辺値に対して右辺値の値だけ右にビットシフトした値を求めます。
<<< または sal
左辺値に対して右辺値の値だけ左に算術シフトした値を求めます。
abs
左辺値に対する絶対値を求めます。右辺値が指定された場合,その値の結果を求めて左辺値として代入します。
int
左辺値に対する小数部分を切り捨てます。右辺値が指定された場合,その値の結果を求めて左辺値として代入します。
ceil
左辺値に対する x 以上の最小の整数を求めます。右辺値が指定された場合,その値の結果を求めて左辺値として代入します。
floor
左辺値に対する x 以下の最大の整数を求めます。右辺値が指定された場合,その値の結果を求めて左辺値として代入します。
rand
左辺値に対する 0 以上 x 未満の任意の値を求めます。右辺値が指定された場合,その値未満の乱数値を求めて左辺値として代入します。
pack
左辺値に対して pack 関数を適用します。右辺値を変換用のとして適用します。
unpack
左辺値に対して unpack 関数を適用します。右辺値を変換用のとして適用します。

左辺値とは name で指定された対象となる変数,右辺値とは value で指定された値です。

 乱数生成を JavaScript で行う場合だと,その生成がクライアント側で行われるため,乱数値を用いてを分岐するなどの処理(普通はやりません)ができません。このでは MTSetVar タグが処理される段階,サーバ側でが処理される段階で値が求められるので次第で々と使えると思います。…まぁ,タグの構築にビット演算だとか,そもそもツッコミ満載の演算式が満載です。packunpack は地味に便利だと思うんですが(自信ナシ)


この記事を読んだ人はこんな記事も読んでいます ?

その他の関連する記事


関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 (必須/公開)
 (必須/非公開)
 
 (必須)
コメントスパム防止のため投稿前に ランダムな数字 ? を入力してから投稿してください。お手数ですがご協力のほど宜しくお願いいたします。