[前へ] [目次へ] [次へ]

PStringArray (ネイティブクラス)


このクラスはネイティブ文字列配列を扱うクラスです。

このクラスの配列要素はFGESにおけるオブジェクトではなく、
C++レベルで確保および管理されています。
そのため、配列要素とのやり取りは必ずデータがコピーされ、
配列要素への直接の参照を取得することができません。
その代わり、このクラスの配列要素はC++レベルの高速なコードで処理を行えます。

●継承

   このクラスは継承をしていません。

●インターフェイスとインターフェイスメソッド

   このクラスはインターフェイスの実装宣言をしていません。

●クラスメソッド

   このクラスはクラスメソッドを持っていません。

●クラスメンバメソッド

名前概要
public取得メソッドconst #operator[]指定した要素番号の値を取得します
public取得メソッドconst #operator{}指定した要素番号の値を取得します
public設定メソッド #operator=[]複数の要素を一斉代入します
public取得メソッドconst Get指定した要素番号の値を取得します
public設定メソッド Set要素を代入します
public操作メソッド Alloc要素を確保します
public操作メソッド Reserve要素数を変更せずにメモリを確保します
public操作メソッド Move要素を移動します
public操作メソッド Pushひとつの要素を末尾に追加します
public操作メソッド PushList配列を末尾に追加します
public操作メソッド PushEx複数の要素を末尾に追加します
public操作メソッド Pop末尾の要素をひとつ削除します
public操作メソッド UnShiftひとつの要素を先頭に追加します
public操作メソッド Shift先頭の要素をひとつ削除します
public操作メソッド Reverse配列の並びを逆にします
public操作メソッド Insertひとつの要素を指定位置に挿入します
public操作メソッド Erase指定した要素を削除します
public操作メソッド Exchange指定した二つの要素を交換します
public操作メソッド AllClear配列を完全にクリアします
public操作メソッド AllUnLock要素を全て削除します
public取得メソッドconst GetCount要素数を取得します
public取得メソッドconst GetFirst先頭の要素を取得します
public取得メソッドconst GetLast末尾の要素を取得します
public取得メソッドconst GetAtByLast指定した要素番号の参照を取得します
public操作メソッド Randomize要素をランダムに再配置します
public操作メソッド Sort要素を整列します
public操作メソッド SortByNumber要素を数値解釈しつつ整列します
public取得メソッドconst GetList配列の一部を一括取得します
public操作メソッド Join要素を結合した文字列を生成します
public操作メソッド Split文字列を分割して一斉代入します
public操作メソッド SplitRegex文字列を正規表現で分割して一斉代入します
public比較・判定メソッドconst FindAll全ての要素に対して検索を行います
public比較・判定メソッドconst Exists指定した文字列が要素にあるか調べます
public操作メソッド MethodSplit文字列をメソッド形式で分割して一斉代入します
public比較・判定メソッドconst IndexOf指定した文字列と一致する要素番号を調べます
public比較・判定メソッドconst IsValidIndex指定した要素番号が有効か判定します

●クラス共有変数

   このクラスはクラス共有変数を持っていません。

●インスタンス変数

   このクラスはインスタンス変数を持っていません。


●C++レベル追加情報

クラスID: FGES_CLASSID_PSTRINGARRAY
クラス名: FGESPStringArray



PStringArray::#operator[]

public readonly String #operator[]( IInteger v)const

   この配列の v 番の要素の値を返します。
   このメソッドは指定した要素番号が無効な場合、例外が発生します。

   このメソッドは最初に v から INativeInteger による取得を試みます。
   これに失敗した場合、 v.Get を呼び出します。

戻り値:指定した要素番号の値を返します。

IInteger v :取得する要素番号(0起算)

先頭へ


PStringArray::#operator{}

public readonly String #operator{}( IInteger v, INativeString? def_value=NULL)const

   この配列の v 番の要素の値を返します。
   このメソッドは指定した要素番号が無効な場合、デフォルト値を返します。

   このメソッドは最初に v から INativeInteger による取得を試みます。
   これに失敗した場合、 v.Get を呼び出します。

戻り値:指定した要素番号の値か、なければデフォルト値を返します。

IInteger v :取得する要素番号(0起算)
INativeString? def_value=NULL :要素番号が無効な場合のデフォルト値。
         空参照を指定した場合は空文字列を指定したものとして扱います。

先頭へ


PStringArray::#operator=[]

public SelfType@ #operator=[](...)

   この配列に引数として渡した要素を一括して代入します。
   この配列が既に持っていた要素は全て削除され、引数だけで構成された配列になります。
   
戻り値: this を返します。

可変長引数:代入する要素リスト。全て INativeString 型でなければいけません。

先頭へ


PStringArray::Get

public readonly String Get( IInteger index)const

   この配列の index 番の要素の値を返します。
   このメソッドは指定した要素番号が無効な場合、例外が発生します。
   
   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

   このメソッドは #operator[] と同じ動作です。

戻り値:指定した要素番号の値を返します。

IInteger index :取得する要素番号(0起算)

先頭へ


PStringArray::Set

public Bool Set( IInteger index, IString val)

   この配列の index 番の要素に val を代入します。
   このメソッドは指定した要素番号が無効な場合、偽を返し何も行いません。

   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

戻り値:代入に成功すると真を返します。

IInteger index :設定する要素番号(0起算)
IString val :設定する値

先頭へ


PStringArray::Alloc

public SelfType@ Alloc( IInteger count)

   この配列の要素数を count まで増やします。
   count がこの配列の要素数より少ない場合、何も起こりません。

   このメソッドは最初に count から INativeInteger による取得を試みます。
   これに失敗した場合、 count.Get を呼び出します。

   このメソッドはメモリの確保に失敗した場合、例外が発生します。
   
戻り値: this を返します。

IInteger count :確保する要素数

先頭へ


PStringArray::Reserve

public SelfType@ Reserve( IInteger count)

   この配列の要素数を変更せずに count 分のメモリを準備します。
   このクラスは必要な場合、自動的にメモリを確保するため
   通常はこのメソッドを明示的に呼び出す必要はありません。
   このメソッドはパフォーマンスを最適化するためだけに存在します。

   このメソッドは最初に count から INativeInteger による取得を試みます。
   これに失敗した場合、 count.Get を呼び出します。

   このメソッドはメモリの確保に失敗した場合、例外が発生します。
   
戻り値: this を返します。

IInteger count :確保する要素数

先頭へ


PStringArray::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 :移動する要素数

先頭へ


PStringArray::Push

public SelfType@ Push( IString val)

   この配列の末尾に要素を追加します。

   このメソッドは最初に val から INativeString による取得を試みます。
   これに失敗した場合、 val.Get を呼び出します。

戻り値: this を返します。

IString val :追加した要素に設定する値

先頭へ


PStringArray::PushList

public SelfType@ PushList( SelfType list)

   この配列の末尾に配列を追加します。
   追加された要素には要素型のオブジェクトが作成されて割り当てられ、引数の要素が順次代入されます。

戻り値: this を返します。

SelfType list :代入する配列オブジェクト

先頭へ


PStringArray::PushEx

public SelfType@ PushEx( INativeString val1,...)

   この配列の末尾に引数分の要素を追加します。
   追加された要素には引数が順次代入されます。
   引数は全て INativeString 型でなければいけません。

戻り値: this を返します。

INativeString val1 :代入する要素オブジェクト
可変長引数:2個目以降の代入するオブジェクト

先頭へ


PStringArray::Pop

public SelfType@ Pop(editable INativeString? output=NULL)

   この配列の末尾の要素を削除します。
   output に有効な参照を指定すると、削除した要素の値が出力されます。
   配列に要素がない場合、例外が発生します。

戻り値: this を返します。

editable INativeString? output=NULL :削除した値を出力するオブジェクト。空参照の場合無視します。

先頭へ


PStringArray::UnShift

public SelfType@ UnShift( IString val)

   この配列の先頭に要素を追加します。

   このメソッドは最初に val から INativeString による取得を試みます。
   これに失敗した場合、 val.Get を呼び出します。

戻り値: this を返します。

IString val :追加した要素に設定する値

先頭へ


PStringArray::Shift

public SelfType@ Shift(editable INativeString? output=NULL)

   この配列の先頭の要素を削除します。
   output に有効な参照を指定すると、削除した要素の値が出力されます。
   配列に要素がない場合、例外が発生します。

戻り値: this を返します。

editable INativeString? output=NULL :削除した値を出力するオブジェクト。空参照の場合無視します。

先頭へ


PStringArray::Reverse

public SelfType@ Reverse()

   この配列の要素の並びを逆順にします。

戻り値: this を返します。

先頭へ


PStringArray::Insert

public SelfType@ Insert( IInteger index, IString val)

   この配列の index 番に要素を挿入します。
   追加された要素は指定した要素番号になります。
   
   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

   指定する要素番号は追加後に有効な番号でなければいけません。
   
戻り値: this を返します。

IInteger index :挿入する要素番号(0起算)
IString val :挿入した要素に設定する値

先頭へ


PStringArray::Erase

public SelfType@ Erase( IInteger target, IInteger count=1)

   この配列の target 番から count 個の要素を削除します。
   削除した要素より後ろに要素がある場合、削除した数分番号が詰められます。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

   指定した要素番号が無効な場合例外が発生します。

戻り値: this を返します。

IInteger target :削除する要素番号(0起算)
IInteger count=1 :削除する要素数

先頭へ


PStringArray::Exchange

public SelfType@ Exchange( IInteger index1, IInteger index2)

   この配列の index1 番と index2 番の要素を交換します。

   このメソッドは最初に各引数から INativeInteger による取得を試みます。
   これに失敗した場合、 IInteger@@Get を呼び出します。

   指定した要素番号が無効な場合例外が発生します。

戻り値: this を返します。

IInteger index1 :対象の要素番号(0起算)
IInteger index2 :対象の要素番号(0起算)

先頭へ


PStringArray::AllClear

public SelfType@ AllClear()

   この配列の全ての要素を削除し、メモリも解放します。

   このメソッドは要素管理用のメモリも解放します。
   配列をリセットしてすぐに再使用する場合は AllUnLock を使用すべきです。

戻り値: this を返します。

先頭へ


PStringArray::AllUnLock

public SelfType@ AllUnLock()

   この配列の全ての要素を削除します。
   
   このメソッドは要素管理用のメモリは解放しません。
   配列をリセットしてすぐに再使用する場合は AllClear より適切です。

戻り値: this を返します。

先頭へ


PStringArray::GetCount

public Integer GetCount()const

   この配列の要素数を返します。

戻り値:この配列の要素数を返します。

先頭へ


PStringArray::GetFirst

public readonly String GetFirst()const

   この配列の先頭要素の値を返します。
   配列に要素がない場合、例外が発生します。

戻り値:配列の先頭要素の値を返します。

先頭へ


PStringArray::GetLast

public readonly String GetLast()const

   この配列の末尾要素の値を返します。
   配列に要素がない場合、例外が発生します。

戻り値:配列の末尾要素の値を返します。

先頭へ


PStringArray::GetAtByLast

public readonly String GetAtByLast( IInteger index)const

   この配列の (要素数-1-index) 番の要素の値を返します。
   つまり、末尾を0とし、先頭に向かって数えた要素番号で index を指定します。
   このメソッドは指定した要素番号が無効な場合、例外が発生します。
   
   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値:指定した要素番号の値を返します。

IInteger index :取得する要素番号(末尾起算逆順)

先頭へ


PStringArray::Randomize

public SelfType@ Randomize()

   この配列をランダムに再配置します。

戻り値: this を返します。

先頭へ


PStringArray::Sort

public SelfType@ Sort()

   この配列を昇順に整列します。

戻り値: this を返します。

先頭へ


PStringArray::SortByNumber

public SelfType@ SortByNumber()

   この配列を昇順に整列します。
   このメソッドは文字列中で数値解釈できる箇所を見つけた場合、数値解釈した結果をソート順に含めます。

戻り値: this を返します。

先頭へ


PStringArray::GetList

public Bool GetList( INativeInteger start_index,editable INativeString out1,...)const

   この配列の start_index 番目からの要素を第2引数以降に順次代入します。
   この配列の要素数が足りない場合は失敗します。
   引数は全て editable INativeString 型でなければいけません。

戻り値:処理に成功すると真を返します。

INativeInteger start_index :読み出しを開始する要素番号
editable INativeString out1 :[出力]読み出した値を代入するオブジェクト
可変長引数:[出力]読み出した値を代入する2個目以降のオブジェクト

先頭へ


PStringArray::Join

public String Join( IString separator)const

   この配列の要素を separator を区切りとして連結した文字列を生成します。
   例えば、 this=["a","b","c"] separator="|" の時、 "a|b|c" を返します。

   このメソッドは最初に separator から INativeString による取得を試みます。
   これに失敗した場合、 separator.Get を呼び出します。

戻り値:生成した文字列を返します。

IString separator :区切り文字列

先頭へ


PStringArray::Split

public Integer Split( IString str, IString separator)

   str の文字列を separator を区切りとして分割し、この配列に保存します。
   例えば、 str="a|b|c" separator="|" の時、 this=["a","b","c"] になります。

   このメソッドは最初に各引数から INativeString による取得を試みます。
   これに失敗した場合、 IString@@Get を呼び出します。

   このメソッドは空文字列を評価しても空文字列が検出されます。
   戻り値が0になることはないので注意してください。
   
戻り値:分割された要素数を返します。

IString str :分割する文字列
IString separator :区切り文字列

先頭へ


PStringArray::SplitRegex

public Integer SplitRegex( IString str, IString pattern, IString option="g")

   str の文字列に対して pattern と option で正規表現を実行し、
   マッチした部分を区切りとして分割し、この配列に保存します。
   正規表現は独自形式です。指定方法は String::Regex を参照してください。
   例えば、 str="a||b||c" pattern="%2z|" option="g" の時、 this=["a","b","c"] になります。

   このメソッドは最初に各引数から INativeString による取得を試みます。
   これに失敗した場合、 IString@@Get を呼び出します。

   このメソッドは空文字列を評価しても空文字列が検出されます。
   戻り値が0になることはないので注意してください。
   
戻り値:分割された要素数を返します。

IString str :分割する文字列
IString pattern :正規表現パターン文字列
IString option="g" :正規表現オプション

先頭へ


PStringArray::FindAll

public Integer FindAll( IString str, IInteger el_start_index, IInteger ar_start_index)const

   配列要素の文字列に対して検索を行い、最初にヒットした要素番号を返します。
   検索は配列の ar_start_index 番から始め、末尾に向かって順番に検索します。
   各要素文字列の検索は el_start_index (バイト単位、0起算)の位置から行います。

   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

戻り値:最初に見つかった要素番号を返します。
   検索対象内に検索文字列が見つからなかった場合は-1を返します。

IString str :検索する文字列
IInteger el_start_index :各文字列の検索開始位置
IInteger ar_start_index :検索開始する要素番号

先頭へ


PStringArray::Exists

public Bool Exists( IString str)const

   配列の要素文字列の中に str と完全一致する文字列があるか調べます。

   このメソッドは最初に str から INativeString による取得を試みます。
   これに失敗した場合、 str.Get を呼び出します。

戻り値:完全一致する文字列があれば真を返します。

IString str :判定する文字列

先頭へ


PStringArray::MethodSplit

public Integer MethodSplit( IString str, editable IInteger? index=NULL)

   プログラムの関数呼び出しリストなどでよく使用される書式で分割します。
   [],{},(),'',"" をグループ化し、 \ をエスケープ扱いして、 , 区切りのリストを this に保存します。
   このメソッドは評価開始後に見つけた開き括弧より多くの閉じ括弧を見つけた時点で評価を終了します。
   この時の評価終了位置は index に出力されます。

   index に有効な参照を指定した場合、バイト単位の位置として扱います。
   その場合 index の値は評価開始位置を示し、評価終了位置が出力されます。
   index が空参照である場合、文字列の先頭から評価し、評価終了位置は取得できません。

   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

   このメソッドは空文字列を評価しても空文字列が検出されます。
   戻り値が0になることはないので注意してください。

戻り値:分割された要素数を返します。
      エラーが発生した場合-1を返します。

IString str :分割する文字列
editable IInteger? index=NULL :[入出力]バイト単位の評価位置

先頭へ


PStringArray::IndexOf

public Integer IndexOf( IString val, IInteger startindex=0)const

   この配列内の startindex 以降にある val と一致する要素番号を検索します。
   このメソッドはこの配列内にある val と同じ文字列を検索し、
   検索範囲内で一致した最も小さい要素番号を返します。
   検索範囲内に一致する文字列が存在しない場合は-1を返します。
   
   このメソッドは最初に各引数からネイティブインターフェイスによる取得を試みます。
   これに失敗した場合、各インターフェイスの Get を呼び出します。

戻り値:指定した文字列と一致する要素番号か、見つからなければ-1を返します。

IString val :検索する文字列
IInteger startindex=0 :検索開始する要素番号(0起算)

先頭へ


PStringArray::IsValidIndex

public Bool IsValidIndex( IInteger index)const

   index がこの配列の要素番号として有効か判定します。

   このメソッドは最初に index から INativeInteger による取得を試みます。
   これに失敗した場合、 index.Get を呼び出します。

戻り値: index がこの配列の要素番号として有効であれば真を返します。

IInteger index :判定する要素番号。

先頭へ


[前へ] [目次へ] [次へ]

最終更新 2020/10/31