[前へ]
[目次へ]
[次へ]
PStringArray2D (ネイティブクラス)
このクラスはネイティブ文字列二次元配列を扱うクラスです。
このクラスの配列要素はFGESにおけるオブジェクトではなく、
C++レベルで確保および管理されています。
そのため、配列要素とのやり取りは必ずデータがコピーされ、
配列要素への直接の参照を取得することができません。
その代わり、このクラスの配列要素はC++レベルの高速なコードで処理を行えます。
●継承
このクラスは継承をしていません。
●インターフェイスとインターフェイスメソッド
このクラスはインターフェイスの実装宣言をしていません。
●クラスメソッド
このクラスはクラスメソッドを持っていません。
●クラスメンバメソッド
名前
概要
#operator[]
指定した要素番号の値を取得します
Get
指定した要素番号の値を取得します
Set
要素を代入します
GetArray
指定した要素番号の配列を取得します
SetArray
配列要素を代入します
Alloc
要素を確保します
Reserve
要素数を変更せずにメモリを確保します
Move
要素を移動します
Push
ひとつの要素を末尾に追加します
Pop
末尾の要素をひとつ削除します
UnShift
ひとつの要素を先頭に追加します
Shift
先頭の要素をひとつ削除します
Reverse
配列の並びを逆にします
Insert
ひとつの要素を指定位置に挿入します
Erase
指定した要素を削除します
Exchange
指定した二つの要素を交換します
AllClear
配列を完全にクリアします
AllUnLock
要素を全て削除します
GetCount
要素数を取得します
IsValidIndex
指定した要素番号が有効か判定します
Sort
要素を整列します
Join
要素を結合した文字列を生成します
Split
文字列を分割して一斉代入します
ParseCSV
CSV形式の文字列を二次元配列として読み込みます
GenerateCSV
保持データをCSV形式に変換した文字列を生成します
SplitRegex
文字列を正規表現で分割して一斉代入します
FindAll
全ての要素に対して検索を行います
Exists
指定した文字列が要素にあるか調べます
MethodSplit
文字列をメソッド形式で分割して一斉代入します
●クラス共有変数
このクラスはクラス共有変数を持っていません。
●インスタンス変数
このクラスはインスタンス変数を持っていません。
●C++レベル追加情報
クラスID:
FGES_CLASSID_PSTRINGARRAY2D
クラス名:
FGESPStringArray2D
PStringArray2D::#operator[]
public readonly
String
#operator[](
IInteger
index1,
IInteger
index2)const
この二次元配列の
index1
番の配列の
index2
番の要素の値を返します。
このメソッドは指定した要素番号が無効な場合、例外が発生します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:指定した要素番号の値を返します。
IInteger
index1
:取得する要素番号1(0起算)
IInteger
index2
:取得する要素番号2(0起算)
先頭へ
PStringArray2D::Get
public readonly
String
Get(
IInteger
index1,
IInteger
index2)const
この二次元配列の
index1
番の配列の
index2
番の要素の値を返します。
このメソッドは指定した要素番号が無効な場合、例外が発生します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
このメソッドは
#operator[]
と同じ動作です。
戻り値:指定した要素番号の値を返します。
IInteger
index1
:取得する要素番号1(0起算)
IInteger
index2
:取得する要素番号2(0起算)
先頭へ
PStringArray2D::Set
public
Bool
Set(
IInteger
index1,
IInteger
index2,
IString
val)
この二次元配列の
index1
番の配列の
index2
番の要素に
val
を代入します。
このメソッドは指定した要素番号が無効な場合、偽を返し何も行いません。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
戻り値:代入に成功すると真を返します。
IInteger
index1
:設定する要素番号(0起算)
IInteger
index2
:設定する要素番号(0起算)
IString
val
:設定する値
先頭へ
PStringArray2D::GetArray
public
Bool
GetArray(
IInteger
index,editable
PStringArray
stringarray)const
この二次元配列の
index
番の配列を
stringarray
にコピーします。
このメソッドは指定した要素番号が無効な場合、偽を返し何も行いません。
このメソッドは最初に
index
から
INativeInteger
による取得を試みます。
これに失敗した場合、
index.Get
を呼び出します。
戻り値:取得に成功すると真を返します。
IInteger
index
:取得する要素番号(0起算)
editable
PStringArray
stringarray
:[出力]コピーを保存する配列オブジェクト。
先頭へ
PStringArray2D::SetArray
public
Bool
SetArray(
IInteger
index,
PStringArray
stringarray)
この二次元配列の
index
番の配列に
stringarray
をコピーして保存します。
このメソッドは指定した要素番号が無効な場合、偽を返し何も行いません。
このメソッドは最初に
index
から
INativeInteger
による取得を試みます。
これに失敗した場合、
index.Get
を呼び出します。
戻り値:取得に成功すると真を返します。
IInteger
index
:設定する要素番号(0起算)
PStringArray
stringarray
:設定する配列オブジェクト。
先頭へ
PStringArray2D::Alloc
public SelfType@ Alloc(
IInteger
count)
この二次元配列の要素数を
count
まで増やします。
count
がこの二次元配列の要素数より少ない場合、何も起こりません。
このメソッドは最初に
count
から
INativeInteger
による取得を試みます。
これに失敗した場合、
count.Get
を呼び出します。
このメソッドはメモリの確保に失敗した場合、例外が発生します。
戻り値:
this
を返します。
IInteger
count
:確保する要素数
先頭へ
PStringArray2D::Reserve
public SelfType@ Reserve(
IInteger
count)
この二次元配列の要素数を変更せずに
count
分のメモリを準備します。
このクラスは必要な場合、自動的にメモリを確保するため
通常はこのメソッドを明示的に呼び出す必要はありません。
このメソッドはパフォーマンスを最適化するためだけに存在します。
このメソッドは最初に
count
から
INativeInteger
による取得を試みます。
これに失敗した場合、
count.Get
を呼び出します。
このメソッドはメモリの確保に失敗した場合、例外が発生します。
戻り値:
this
を返します。
IInteger
count
:確保する要素数
先頭へ
PStringArray2D::Move
public SelfType@ Move(
IInteger
target,
IInteger
dst,
IInteger
count=1)
この二次元配列の
target
番から
count
個の要素を
dst
番に移動します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
指定した要素番号が無効な場合例外が発生します。
戻り値:
this
を返します。
IInteger
target
:移動元の要素番号(0起算)
IInteger
dst
:移動先の要素番号(0起算)
IInteger
count=1
:移動する要素数
先頭へ
PStringArray2D::Push
public SelfType@ Push(
PStringArray
stringarray)
この二次元配列の末尾に要素を追加します。
戻り値:
this
を返します。
PStringArray
stringarray
:追加した要素に設定する配列
先頭へ
PStringArray2D::Pop
public SelfType@ Pop(editable
PStringArray
? output=NULL)
この二次元配列の末尾の要素を削除します。
output
に有効な参照を指定すると、削除した要素の配列が出力されます。
二次元配列に要素がない場合、例外が発生します。
戻り値:
this
を返します。
editable
PStringArray
? output=NULL
:[出力]削除した配列を出力するオブジェクト。空参照の場合無視します。
先頭へ
PStringArray2D::UnShift
public SelfType@ UnShift(
PStringArray
stringarray)
この二次元配列の先頭に要素を追加します。
戻り値:
this
を返します。
PStringArray
stringarray
:追加した要素に設定する配列
先頭へ
PStringArray2D::Shift
public SelfType@ Shift(editable
PStringArray
? output=NULL)
この二次元配列の先頭の要素を削除します。
output
に有効な参照を指定すると、削除した要素の配列が出力されます。
二次元配列に要素がない場合、例外が発生します。
戻り値:
this
を返します。
editable
PStringArray
? output=NULL
:[出力]削除した配列を出力するオブジェクト。空参照の場合無視します。
先頭へ
PStringArray2D::Reverse
public SelfType@ Reverse()
この二次元配列の要素の並びを逆順にします。
戻り値:
this
を返します。
先頭へ
PStringArray2D::Insert
public SelfType@ Insert(
IInteger
index,
PStringArray
stringarray)
この二次元配列の
index
番に要素を挿入します。
追加された要素は指定した要素番号になります。
このメソッドは最初に
index
から
INativeInteger
による取得を試みます。
これに失敗した場合、
index.Get
を呼び出します。
指定する要素番号は追加後に有効な番号でなければいけません。
戻り値:
this
を返します。
IInteger
index
:挿入する要素番号(0起算)
PStringArray
stringarray
:挿入した要素に設定する配列
先頭へ
PStringArray2D::Erase
public SelfType@ Erase(
IInteger
target,
IInteger
count=1)
この二次元配列の
target
番から
count
個の要素を削除します。
削除した要素より後ろに要素がある場合、削除した数分番号が詰められます。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
指定した要素番号が無効な場合例外が発生します。
戻り値:
this
を返します。
IInteger
target
:削除する要素番号(0起算)
IInteger
count=1
:削除する要素数
先頭へ
PStringArray2D::Exchange
public SelfType@ Exchange(
IInteger
index1,
IInteger
index2)
この二次元配列の
index1
番と
index2
番の要素を交換します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
指定した要素番号が無効な場合例外が発生します。
戻り値:
this
を返します。
IInteger
index1
:対象の要素番号(0起算)
IInteger
index2
:対象の要素番号(0起算)
先頭へ
PStringArray2D::AllClear
public SelfType@ AllClear()
この配列の全ての要素を削除し、メモリも解放します。
このメソッドは要素管理用のメモリも解放します。
配列をリセットしてすぐに再使用する場合は
AllUnLock
を使用すべきです。
戻り値:
this
を返します。
先頭へ
PStringArray2D::AllUnLock
public SelfType@ AllUnLock()
この配列の全ての要素を削除します。
このメソッドは要素管理用のメモリは解放しません。
配列をリセットしてすぐに再使用する場合は
AllClear
より適切です。
戻り値:
this
を返します。
先頭へ
PStringArray2D::GetCount
public
Integer
GetCount(
IInteger
? index=NULL)const
この二次元配列または要素配列の要素数を返します。
index
が空参照である場合、二次元配列の要素数を返します。
index
に有効な参照が指定された場合、対応する要素配列の要素数を返します。
この時、指定した要素番号が無効な場合、例外が発生します。
このメソッドは最初に
index
から
INativeInteger
による取得を試みます。
これに失敗した場合、
index.Get
を呼び出します。
戻り値:この二次元配列、または指定した要素配列の要素数を返します。
IInteger
? index=NULL
:要素数を取得する要素配列の要素番号(0起算)
空参照の場合は二次元配列自体の要素数を返します。
先頭へ
PStringArray2D::IsValidIndex
public
Bool
IsValidIndex(
IInteger
index1,
IInteger
index2)const
各
index
がこの二次元配列の要素番号として有効か判定します。
このメソッドは最初に各引数から
INativeInteger
による取得を試みます。
これに失敗した場合、
IInteger@@Get
を呼び出します。
戻り値:各
index
がこの二次元配列の要素番号として有効であれば真を返します。
IInteger
index1
:判定する要素番号1。
IInteger
index2
:判定する要素番号2。
先頭へ
PStringArray2D::Sort
public SelfType@ Sort(
IInteger
index)
この二次元配列内の指定した要素配列を昇順に整列します。
このメソッドは指定した要素番号が無効な場合、例外が発生します。
このメソッドは最初に
index
から
INativeInteger
による取得を試みます。
これに失敗した場合、
index.Get
を呼び出します。
戻り値:
this
を返します。
IInteger
index
:整列する要素配列の要素番号(0起算)
先頭へ
PStringArray2D::Join
public
String
Join(
IInteger
index,
IString
separator)const
この二次元配列内の指定した要素配列の要素を
separator
を区切りとして連結した文字列を生成します。
例えば、対象の要素配列が
["a","b","c"] separator="|"
の時、
"a|b|c"
を返します。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
戻り値:生成した文字列を返します。
IInteger
index
:連結する要素配列の要素番号(0起算)
IString
separator
:区切り文字列
先頭へ
PStringArray2D::Split
public
Integer
Split(
IInteger
index,
IString
str,
IString
separator)
str
の文字列を
separator
を区切りとして分割し、この二次元配列内の指定した要素配列に保存します。
例えば、
str="a|b|c" separator="|"
の時、対象の要素配列は
["a","b","c"]
になります。
このメソッドは空文字列を評価しても空文字列が検出されます。
戻り値が0になることはないので注意してください。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
戻り値:分割された要素数を返します。
IInteger
index
:保存する要素配列の要素番号(0起算)
IString
str
:分割する文字列
IString
separator
:区切り文字列
先頭へ
PStringArray2D::ParseCSV
public
Bool
ParseCSV(
IString
csv,
IString
? delim=NULL,
IString
? quote=NULL)
CSV形式の文字列を二次元配列としてこのオブジェクトに読み込みます。
このメソッドは
\n
改行で処理を行います。
\r\n
改行データの場合は先に変換してください。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
戻り値:処理に成功すると真を返します。
IString
csv
:読み込むCSV形式文字列。
IString
? delim=NULL
:要素を区別するデリミタ文字。
指定できるのはASCII文字1文字のみで、それ以外を指定した場合はデフォルトを使用します。
空参照を指定した場合は
','
を指定したものとして扱います。
IString
? quote=NULL
:エスケープ文字として使用する文字。
指定できるのはASCII文字1文字のみで、それ以外を指定した場合はデフォルトを使用します。
空参照を指定した場合は
'"'
を指定したものとして扱います。
先頭へ
PStringArray2D::GenerateCSV
public
String
GenerateCSV(
IString
? delim=NULL,
IString
? quote=NULL)const
この二次元配列をCSV形式に変換した文字列を生成します。
このメソッドは
\n
改行で出力されます。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
戻り値:生成したCSV形式文字列を返します。
IString
? delim=NULL
:要素を区別するデリミタ文字。
指定できるのはASCII文字1文字のみで、それ以外を指定した場合はデフォルトを使用します。
空参照を指定した場合は
','
を指定したものとして扱います。
IString
? quote=NULL
:エスケープ文字として使用する文字。
指定できるのはASCII文字1文字のみで、それ以外を指定した場合はデフォルトを使用します。
空参照を指定した場合は
'"'
を指定したものとして扱います。
先頭へ
PStringArray2D::SplitRegex
public
Integer
SplitRegex(
IInteger
index,
IString
str,
IString
pattern,
IString
option="g")
str
の文字列に対して
pattern
と
option
で正規表現を実行し、
マッチした部分を区切りとして分割し、この二次元配列内の指定した要素配列に保存します。
正規表現は独自形式です。指定方法は
String::Regex
を参照してください。
例えば、
str="a||b||c" pattern="%2z|" option="g"
の時、対象の要素配列は
["a","b","c"]
になります。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
このメソッドは空文字列を評価しても空文字列が検出されます。
戻り値が0になることはないので注意してください。
戻り値:分割された要素数を返します。
IInteger
index
:保存する要素配列の要素番号(0起算)
IString
str
:分割する文字列
IString
pattern
:正規表現パターン文字列
IString
option="g"
:正規表現オプション
先頭へ
PStringArray2D::FindAll
public
Integer
FindAll(
IInteger
index,
IString
str,
IInteger
el_start_index,
IInteger
ar_start_index)const
この二次元配列内の指定した要素配列の要素文字列に対して検索を行い、最初にヒットした要素番号を返します。
検索は配列の
ar_start_index
番から始め、末尾に向かって順番に検索します。
各要素文字列の検索は
el_start_index
(バイト単位、0起算)の位置から行います。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
戻り値:最初に見つかった要素番号を返します。
検索対象内に検索文字列が見つからなかった場合は-1を返します。
IInteger
index
:検索する要素配列の要素番号(0起算)
IString
str
:検索する文字列
IInteger
el_start_index
:各文字列の検索開始位置
IInteger
ar_start_index
:検索開始する要素番号
先頭へ
PStringArray2D::Exists
public
Bool
Exists(
IInteger
index,
IString
str)const
この二次元配列内の指定した要素配列の要素文字列の中に
str
と完全一致する文字列があるか調べます。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
戻り値:完全一致する文字列があれば真を返します。
IInteger
index
:判定する要素配列の要素番号(0起算)
IString
str
:判定する文字列
先頭へ
PStringArray2D::MethodSplit
public
Integer
MethodSplit(
IInteger
index,
IString
str, editable
IInteger
? str_index=NULL)
プログラムの関数呼び出しリストなどでよく使用される書式で分割します。
[],{},(),'',""
をグループ化し、
\
をエスケープ扱いして、
,
区切りのリストを
この二次元配列内の指定した要素配列に保存します。
このメソッドは評価開始後に見つけた開き括弧より多くの閉じ括弧を見つけた時点で評価を終了します。
この時の評価終了位置は
str_index
に出力されます。
str_index
に有効な参照を指定した場合、バイト単位の位置として扱います。
その場合
str_index
の値は評価開始位置を示し、評価終了位置が出力されます。
str_index
が空参照である場合、文字列の先頭から評価し、評価終了位置は取得できません。
このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
これに失敗した場合、各インターフェイスの
Get
を呼び出します。
このメソッドは空文字列を評価しても空文字列が検出されます。
戻り値が0になることはないので注意してください。
戻り値:分割された要素数を返します。
エラーが発生した場合-1を返します。
IInteger
index
:保存する要素配列の要素番号(0起算)
IString
str
:分割する文字列
editable
IInteger
? str_index=NULL
:[入出力]バイト単位の評価位置
先頭へ
[前へ]
[目次へ]
[次へ]
最終更新 2023/05/29