2010年04月25日

Seesaaブログの独自タグ内で使用可能な演算を調べてみた。

実は、独自タグ内では算術演算が可能だ。何処まで可能なのか、ハッキリと調べた訳ではないが、加算(+);、減算(-)、乗算(*)が可能なのは確認した。

……と、Seesaaブログの独自タグ <% if %> で、論理演算する方法で書いたが、ちょっと突っ込んで調べてみた。まぁそこそこ一般的に有りそうな演算子で。もちろん他にもある可能性はあるので、誰か知ってたら教えてくだちぃ。

四則演算

と、剰余演算。剰余演算が通るとは思わなかった。加算減算以外の有効な利用法が思いつかない……

コード出力結果
<% echo(1 + 2) %>3
<% echo(2 - 1) %>1
<% echo(1 - 2) %>-1
<% echo(2 * 3) %>6
<% echo(4 / 2) %>2
<% echo(3 % 2) %>1

等号不等号、比較演算

結果が偽になるものは、何も出力されない。真で1が出力されるので、てっきり0かと思っていたので吃驚した。内部的には、nullとかundefinedといった種類の値なんだろうか?特に実害はないようだが。

コード出力結果
<% echo(1 == 1) %>1
<% echo(1 == 2) %>
<% echo(1 != 1) %>
<% echo(1 != 2) %>1
<% echo(1 < 2) %>1
<% echo(1 <= 1) %>1
<% echo(2 > 1) %>1
<% echo(1 >= 1) %>1

文字列比較

文字列の比較には、eqneを使う。==!=ではない。

コード出力結果
<% echo('foo' eq 'foo') %>1
<% echo('foo' eq 'bar') %>
<% echo('foo' ne 'bar') %>1

<% if %>の条件判断について

早い話が、「非0は全て真になるのか?」の確認。

一番最後のは、「偽と0を比較したらどうなるか?」を確認している。

コード出力結果
<% if:(1 + 0) %><% echo('TRUE') %><% /if %>TRUE
<% if:(0 + 0) %><% echo('TRUE') %><% /if %>
<% if:(2 + 0) %><% echo('TRUE') %><% /if %>TRUE
<% if:(1 - 2) %><% echo('TRUE') %><% /if %>TRUE
<% if:((1==2) == 0) %><% echo('TRUE') %><% /if %>TRUE

詳細不明

Seesaaブログは、文法エラーになると、そのコンポーネントは丸々出力されなくなるので、少なくとも以下の記述は正しいものだと思われる。ただし、どういう意味なのか不明。

文字列の文字コードによる比較かと思ったが、そうではないらしい。必ず真になっている。

コード出力結果
<% echo('1foo1' lt '2foo2') %>1
<% echo('2foo2' lt '1foo1') %>1
<% echo('1foo1' lt '1foo1') %>1
<% echo('foo1' gt 'foo2') %>1
<% echo('foo2' gt 'foo1') %>1
<% echo('foo1' le 'foo2') %>1
<% echo('foo1' ge 'foo2') %>1

その他

累乗は不明(^ではなかった)、ビット演算は不可、所謂宇宙船演算子無し、8進数/16進数表記不可。

文字列連結はどうやるのだろう?まぁ、必要なさそうな気もするが。

posted by 天井冴太 at 04:31 | Comment(0) | TrackBack(1) | Study | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

コメント欄右下をドラッグ&ドロップすると、コメント欄の拡大縮小が出来ます。
認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック

Seesaaブログ独自タグ内では、2項を超える多項式が書けない
Excerpt: そういえば前回書き忘れてたんだけど、Seesaaブログの独自タグ内では2項を超える多項式が書けない。括弧使えば出来るけど。 例えば、 &amp;lt;% echo(1 + 2) %&amp;gt; …..
Weblog: AMAgrammar &amp;lt;&amp;gt; PROgrammer
Tracked: 2010-04-26 02:34
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。