""
や ''
クオート(引用)されていない、スクリプト中に直接書かれる特定の文字の並びのことです。_
'(アンダーバー)、数字、いわゆる全角文字で構成される。ただし数字は先頭にくることができない。例:
ampan // OK
123a // 数字が先頭に来ているので NG
_asdf // アンダーバーは先頭にくることができるので OK
continue // これは予約語 OK
全角文字 // いわゆる全角文字は「裸の単語」として OK
break continue const catch class case
debugger default delete do extends export
enum else function finally false for
global getter goto incontextof Infinity
invalidate instanceof isvalid import int in
if NaN null new octet protected property
private public return real synchronized switch
static setter string super typeof throw
this true try void var while with
>>>= >>> >>= >> >= > <<= <=
<-> << < === == => = !== != !
&&= && &= & ||=
|| |= | ... . ++ += + -= -- - *=
* /= / \= \ %= % ^= ^ [ ] ( ) ~
? : , ; { } # $
++
は、 +
と +
ではなく、 ++
という一つの記号として分解されます。これらを別々の +
と +
として記述したいばあいは、+
と +
の間にスペースなどを挟む必要があります。.
(小数点)で始まるものです。TJS2
は、以下の形式を認識します。例:
0
3.1
342.3
1
e
または E
を使い、10を底とする 指数指定をすることもできます。e
でも E
でも意味は同じです。例:
1e-3 // 110-3
3.4e10 // 3.41010
9.3E-2 // 9.310-2
0x
または 0X
をつけると 16進数での指定となります。0x
でも 0X
でも意味は同じです。例:
0x1234
0Xff
0x3f33
0b
または 0B
をつけると 2進数での指定となります。例:
0b0100
0B0010100010100001
0
がつくと 8進数として扱われます。例:
01234
033
例:
0b1.1 // 1 + 1/2 で 1.5 を表す
0x2.f // 2 + 15/16 で 2.9375 を表す
0x1p8 // 1 28 で 256.0 を表す
""
(ダブルクオーテーション) または ''
(シングルクオーテーション)で囲まれるものです。ダブルクオーテーションをつかってもシングルクオーテーションを使ってもかまいません。""
(ダブルクオーテーション) 中では '(シングルクオーテーション) を、''
(シングルクオーテーション)中では "
(ダブルクオーテーション) を、\
でエスケープする必要が無くなります。例:
"this is a string."
'this is also a string.'
"Can't use without a quotation."
\
(円記号) は特別な意味を持ちます。 \ の後に続く文字で意味が変わります。\ に続けて特殊な指定をすることをエスケープするといいます。\\ : \ マーク自体
\' : ' (シングルクオーテーション)
\" : " (ダブルクオーテーション)
\a : BEL (可聴ベル)
\b : BS (後退)
\f : FF (フォームフィード)
\n : LF (改行)
\r : CR (復帰)
\t : HT (水平タブ)
\v : VT (垂直タブ)
\xH : H=16 進数 ( H が文字コードを表します )
\XH : 上に同じ
\xH
の形式で、H の部分には 16 進数を指定します。すると、その 16 進数は文字コードとして扱われ、その一文字に置き換わります。例:
'Can\'t help' ( \' を用いている )
"\x1234" ( ワイド文字としての 0x1234 という文字コードの文字 )
\xH
の形式では、 \x の次に 16 進数を構成する文字 ( 0縲鰀9 、A縲廡、a縲彷 ) が続く限り、それは H の部分であるとみなされます。ただし、ワイド文字のサイズが 16bit の環境では最大 4 桁、32bit のマシンでは最大 8 桁までが認識されます ( Windowsの場合は 16bit、Linux や Solaris では 32bit です )。"\x22An Apple"
とかくと、先頭は \x22A であるとみなされてしまいます。これを避けるには、"\x22" "An Apple"
として、文字列をわけ、続けて書いてください。TJS では、このように文字列即値が連続する場合、ひとつの文字列だとみなします。例:
@"1+2=&1+2;" ( "1+2=3" という文字列になる )
@"変数 f の内容は &f; です" ( 変数 f の内容を &f; の場所に展開する )
@"関数 func を呼び出した結果は &func(); です" ( 式として有効なものならば & と ; の間に記述可 )
@"関数 func を呼び出した結果は ${func()} です" ( 上と同じ )
@"true \&\& false は &true && false;" ( & の前に \ を書けば & は展開されない )
<%
と %>
で囲まれるもので、中にオクテットデータ ( バイナリデータ ) を書くことができます。例:
<% 00 01 02 03 %>
<% ff ff ff 00 04 0f ff 30 %>
/
と /
で囲まれるもので、なかに正規表現パターンを書くことができます。例:
/[0-9]-[0-9]-[0-9]/
/^;\s*(.*?)\s*=(.*)$/
/start(.*?)end/gi