0

元サイト

テンプレート式

Clearsilverは、任意のパラメータを使用することができる一般的な表現構文を有する。
いくつかの例の式:

Page.Title
Page["Title"]
Page[varname]
Page["Title"] == "Home"
(#Page.Count > #1) || (?Page.Next)

ClearSilverの式は、4つの異なる引数の型を持っている。それは以下です:

  • 番号。数は数値に変換可能な任意の文字列であるか、#演算子を使用して数値文字列を強制することができます。例としては、103、0x1a、-23、14、#83
  • 文字列。文字列は単一引用符または二重引用符のどちらか任意の文字のセットです。エスケープ機構は現在ありません。
  • 変数。またはグローバルHDFデータセットへの参照(call/def、each、with、loop、で作成した)変数は、ローカル変数への参照のいずれかです。あなたの変数名が数字の場合は、変数評価を強制するために、$演算子を使用する必要があります。
  • 数値変数。これは数値に変換する変数の値です。

ClearSilver式は、変数、文字列、数値およびブールという4つの異なる評価タイプを持っている。使用されている評価種類やオペレータに依存します。演算子は、ブール、数値、または、数値/文字列のいずれかである。どちらかの引数が数値の場合、数値/文字列の演算子の場合、それらは数値として評価されます。そうでなければ、オペレータの文字列のものが使用される。本当に異なる演算子は、数値加算と文字列連結である+、である。

ブールの評価:

  • 数:0が偽で、他のすべてが真である
  • 文字列:空の文字列はfalseです。文字列 “0”は偽です。それ以外は真である。
  • 変数:存在しない変数が偽である。既存の変数は、文字列と同じように扱われている。
  • 数値変数:非既存の0を数字に変換されないではそうでない場合は0、数に変換として扱われます。番号と同じ評価を行った。

Numberとしての評価:

  • 番号:数など
  • 文字列:数値に変換されます。そのていない有効な数値場合は、0に変換されますより。
  • 変数:それが存在しない場合は、その0とそうでない場合、文字列と同様に処理した。
  • 数値変数:変数と同じ。

文字列としての評価:

  • 番号:ベース10の数値
  • 文字列:文字列として
  • 変数:存在しない変数は空の文字列です。
  • 数値変数:ベース10に文字列に変換よりも、数値に変換されます。

もしオペレータが可変であることを期待するときの変数としての評価が使用される。非可変引数の変数演算子を使用すると、定義されていません。いくつかの例では、それはそれだけでそれを無視するいくつかのケースでは、変数名として文字列を扱いますClearSilverいくつかの例では、エラーが発生します。この動作は、随時変更されることがあり、現在の動作に依存しないでください。ドットとブラケット演算子は、HDFデータセットの下側部分を参照するために使用される。
ローからハイ順位の演算子のリスト、:

 

Operator Operation Evaluation Type
, C Comma Operator n/a
|| Boolean OR Boolean
&& Boolean AND Boolean
== Equal String/Numeric
!= Not Equal String/Numeric
> String Greater Than String/Numeric
>= Greater Than/Equals String/Numeric
< Less Than String/Numeric
<= Less Than/Equals String/Numeric
+ String Concat / Add String/Numeric
Subtract Numeric
* Multiply Numeric
/ Divide Numeric
% Modulo Numeric
+ (unary) Positive Numeric
(unary) Negative Numeric
# (unary) Force Numeric Numeric
$ (unary) Force Variable Variable
! (unary) Boolean NOT Boolean
? (unary) Existance Boolean
. Descend Variable Name Variable
[ ] Expand Variable Name Variable
( ) Function Call n/a

付加は、数値の評価を強制しません。文字列の評価中に、+は、文字列の連結のを表します。

ここでは、HTMLテーブルに2列にデータをレンダリングの例です。

<table>
  <tr>
    <th>Column 1</th><th>Column 2</th>
  </tr>
  <?cs set:count = #0 ?>
  <?cs each:item = Page.Items ?>
    <?cs if:count % #2 ?>
      <tr>
    <?cs /if ?>
      <td><?cs var:item.Number ?> - 
        <?cs var:item.Name ?></td>
    <?cs set:count = count + #1 ?>
    <?cs if:count % #2 ?>
      </tr>
    <?cs /if ?>
  <?cs /each ?>
</table>

Takenchi

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です