非公開 ABXS取得関数(プロデル版β バグ修正01)

作品プログラム
動作環境
投稿者
あおと [a32kitaあっとまーくlive.jp]
投稿日
2013-09-07 13:51:50
ダウンロード数
420

作品のプログラム

ABXSオブジェクトとは
  ファイル内容を持つ
  ファイルパスを持つ
  
  ファイル名という属性
    設定する手順
      ファイルパスは、設定値
      ファイル内容は、(設定値から読み込んだもの)から改行を「」へ置換したもの
      ファイル内容は、ファイル内容からタブを「」へ置換したもの
    終わり
    取得する手順
      ファイルパスで抜ける
    終わり
  終わり
  
  
  [自分]から、[キーパス]を、セッションとして、読み込む手順
    データソース(1)は、このファイル内容
    
    もし (キーパスから1文字末尾から取り出したもの)は 「」 でないなら
      「ABXS_ERROR[改行]KEYPATH IS DATA NAME[改行][キーパス]」で抜ける
    もし終わり
    
    キー配列は、キーパスを「」で区切ったもの
    キー階層は、(キー配列の個数)-1
    キーカウンタは、1
    
    [キー階層]回、繰り返す
      キーカウンタは、キーカウンタ+1
      ターゲットキーは、キー配列(キーカウンタ-1)
      
      データソース(キーカウンタ)は、[データソース(キーカウンタ-1)から「SC([ターゲットキー]){(.*|
*)}([ターゲットキー]);」という正規表現で取り出したもの](1)
      データソース(キーカウンタ)は、「\」&改行&データソース(キーカウンタ)&改行&改行から「\」&改行&「SC([ターゲットキー]){」を「」へ置換したもの
      データソース(キーカウンタ)は、データソース(キーカウンタ)から「}([ターゲットキー]);」&改行&改行を「」へ置換したもの
    繰り返し終わり
    
    データソース(キーカウンタ)で抜ける
  終わり
  
  [自分]から、[キーパス]を、読み込む手順
    もし (キーパスから1文字末尾から取り出したもの)は 「」 なら
      「ABXS_ERROR[改行]KEYPATH IS SESSION NAME[改行][キーパス]」で抜ける
    もし終わり
    
    ローカルキー配列は、キーパスを「」で区切ったもの
    データソース(1)は、このファイル内容
    
    【ローカルキーカウンタ:配列】
    
    ローカルキーカウンタ(1)は、「」
    ローカルキーカウンタ(1)は、ローカルキー配列の個数
    ローカルキーカウンタ(2)は、0
    
    セッションパスは、「」
    結果は、「」
    
    もし ローカルキー配列の個数は 1 なら
      ’ルートセッションの場合
      結果は、データソース(1)
    でないなら
      ’サブセッションの中の値の場合
      繰り返せ
        ローカルキーカウンタ(2)は、ローカルキーカウンタ(2)+1
        もし ローカルキーカウンタ(2)は ローカルキーカウンタ(1) なら 繰り返しから抜ける
        
        セッションパスは、セッションパス&ローカルキー配列(ローカルキーカウンタ(2))&「」
      繰り返し終わり
      
      結果は、自分からセッションパスをセッションとして読み込んだもの
    もし終わり
    
    もし 結果から1行目を一行だけは 「ABXS_ERROR」 なら
      「ABXS_ERROR[改行]SESSION ERROR」で抜ける
    もし終わり
    
    結果は、結果から「DATA([ローカルキー配列(ローカルキーカウンタ(1))])="」を改行へ置換したもの
    
    もし 結果の行数は 1 なら 「ABXS_ERROR[改行]DATA UNFOUND」で抜ける
    
    結果は、結果から2行目を一行だけ
    結果は、結果から「";」を改行へ置換したもの
    結果は、結果から1行目を一行だけ
    結果で抜ける
  終わり
終わり
	

▲ページの先頭へ