2.1.文字型
N88BASICでは,255バイト以内の文字をつなぎ,その前後をダブルクォーテーション(")
で囲んだものです。(")は定数中に直接記述できないのでCHR$関数を用いて代用します。
"Hello!" "1 2 3 4" "123" "BASIC" "load "+CHR$(&H22)+"B:\FILE"
perlでは,文字数の制限はなく,その前後をシングルクォーテーション(')か ダブルクォーテーション(")で囲んだものです。
"Hello!" "1 2 3 4" "123" 'BASIC'
シングルクォーテーションの場合
(')と(\)を文字列中に記述する場合は,(\)の直後に文字を置きます。
'can\'t open' | は can't open という文字列 |
'\\1,000' | は \1,000 という文字列 |
'"dog"' | は "dog" という文字列 |
'Hello!\n' | は Hello!\n という文字列 |
'Ans = $a' | は Ans = $a という文字列 |
ダブルクォーテーションの場合
(\)を文字列中に記述した場合は,(\)の直後の文字によって特別な意味を持ちます。
このことをエスケープすると呼びます。
また,変数名を書いておくとその内容に置き換えられます。
"can't open" | は can't open という文字列 |
"\\1,000" | は \1,000 という文字列 |
"\"dog\"" | は "dog" という文字列 |
"Hello!\n" | は Hello!と改行 という文字列 |
"Ans = $a" | は Ans = 10 という文字列($aの値が10の場合) |
おもなエスケープ文字
\n | 改行 | (0A)16 |
\r | 復帰 | (0D)16 |
\0 | 8進数文字コード | \0101は(101)8 = (41)16 文字A |
\x | 16進数文字コード | \x41は(41)16 文字A |
\" | ダブルクォート | " |
\\ | 逆スラッシュ | \ |
文字列をパターンとして扱う場合は,ピリオド(.)は(\.)と記述しましょう。
ヒア文字列
シングルクォーテーションとダブルクォーテーション文字列以外にヒア文字列があります。
$mail = "Dear Kibitaro\n"; $a = <<EOF; # 文字列"EOF"のある行までの値が$aに代入される From: kibita@orange.or.jp To: pingu@foo.co.jp Subject: Hello! $mail EOF open(ML,"|/usr/bin/sendmail -t"); print ML "$a"; close(ML); $mail = "Dear Kibitaro\n"; open(ML,"|/usr/bin/sendmail -t"); print ML <<EOF; # 文字列"EOF"のある行までの値がコマンドにパイプされる From: kibita@orange.or.jp To: pingu@foo.co.jp Subject: Hello! $mail EOF close(ML);
2.2.数値型
N88BASICでは,整数型(8・10・16進)と実数型(単・倍精度)があります。
perlでは,整数と実数がありますが内部的には実数(C言語のdoubleの精度)として扱われています。
$val1 = 012; #(12)8 = (10)10 $val2 = 345; $val3 = 678;
Copyright (c)1996-99 GOMASUKE
Since 09/14/1996, Last Updated 01/11/1999