FreeBASIC マニュアルのトップに戻る

FreeBASIC OpStringIndex

目次演算子索引演算子Operator [] (String index)←オリジナル・サイト

演算子 [] (文字列インデックス) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい


文字列内の文字の数値への参照を返します。

構文:
declare operator [] ( byref lhs as string, byref rhs as integer ) byref as ubyte
declare operator [] ( byref lhs as zstring, byref rhs as integer ) byref as ubyte
declare operator [] ( byref lhs as wstring, byref rhs as integer ) byref as T


用法:
result = lhs [ rhs ]
または
lhs [ rhs ] = value

パラメタ:
lhs
文字列。 (文字列の参照です。ローカル・コピーとして返される文字列ではありません。)
rhs
先頭文字からの、起点をゼロとした、ずらし量。
T
ワイド文字型(プラットホームにより変えます)。

記述:
この演算子は、文字列内の特定の文字の数値への参照を返します: この演算子は、空の文字列には使わないでください。参照が定義されていない(ランタイムエラーが発生する)ためです。
また、ユーザーはインデックスが、範囲 "[0, Len(lhs) - 1]" を超えないようにする必要があります。 この範囲外では、結果は未定義です。

'return by value'(コピーのみが返される)とは異なり、 'return by reference' を使うと、参照される変数を変更することもできます。
「参照による戻り」は、暗黙的に逆参照されるポインターとして、内部で実装されます:
- StringZString 's' の場合:
s[n] は、*Cptr(Ubyte Ptr, Strptr(s) + n) と同等です
- WString 's' の場合:
s[n] は、*Cptr(T Ptr, Strptr(s) + n) と同等です

注意: この演算子が参照を返すという事柄は、文字の数値表現を返すことはできるが、変更することはできない Asc( str [, position ] ) とは大きく異なります。

例:
Dim a As String = "Hello, world!"
Dim i As Integer

For i = 0 To Len(a) - 1
    Print Chr(a[i]) & " ";
Next i
Print
Print

For i = 1 To 4
    a[i] = a[i] - 32  ' converting lowercase alphabetic characters to uppercase
Next i
For i = 7 To 11
    a[i] = a[i] - 32  ' converting lowercase alphabetic characters to uppercase
Next i
Print a
Sleep


下のように、表示されるでしょう。
H e l l o ,   w o r l d !

HELLO, WORLD!

QBからの違い:

参照:
索引演算子 に戻る
演算子 に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2021-03-06 04:49:57
日本語翻訳:WATANABE Makoto、原文著作者:LaananFisher

ホームページのトップに戻る

表示-非営利-継承