ページの先頭行へ戻る
Symfoware Server V10.0.0/V10.0.1 WebDBtoolsユーザーズガイド

7.7 コンテキスト

WebScript言語では、変数も値も型付けがされていません。値は評価される場所に応じて、違う意味をもちます。変数の評価方法(関数の引数、演算子のオペランドなど)によって、その型が決まります。コンテキストとは、この型付けのことを指します。

コンテキストには、以下の3種類があります。

リストから単値

数値、文字列ともに、単値のコンテキストにリストが与えられた場合は、その最初の要素(添字番号0)の要素が参照されます。最初の要素もリストだった場合は、さらにその最初の要素が参照されます。ループが見つかった場合は、文字列コンテキストならば空文字列、数値コンテキストならば0がその値となります。

単値からリスト

リストのコンテキストに単値が与えられた場合は、それだけを要素とするリストが作成されます。

<!FOREACH "abc" myvar>
The value is <!HREPLACE 'myvar'>.
<!/FOREACH> → The value is abc.

文字列から数値

数値のコンテキストに文字列が与えられた場合は、先頭から数値であると解釈できる部分までの数値が使用されます。解釈できない場合、値は0となります。

<!SETVAR x "10ABC">
<!SETVAR y "ABC">
<!REPLACE '0 + x'> → 10
<!REPLACE '0 + y'> → 0

数値から文字列

文字列のコンテキストに数値が与えられた場合は、その数値を表す適当な文字列の表現が使用されます。ほかの表現を使用する場合は、format関数を使用してください。

未定義値

数値のコンテキストに未定義値が与えられた場合は、0がその値となります。
文字列のコンテキストに未定義値が与えられた場合は、空文字列がその値となります。
リストのコンテキストに未定義値が与えられた場合は、長さ0のリストがその値となります。