22: loopでcall呼び出した時カウンタが機能しない

ばぐとら研究所統合ToDo管理システムへようこそ!バグ報告に限らず様々な要望を扱うシステムです。
まずは同じような内容がないか [検索] した後、無ければ [新規レポート] で作ってみましょう。
Windows 8以降、高速スタートアップが実装された関係で、SSP以外の部分に起因する不具合発生が出てきました。
何か挙動がおかしいかな、と思ったら、一度再起動(シャットダウン->起動ではなく)してみてから再度確かめてみてください。

最新状況

名前 Legokichi
概要 loopでcall呼び出した時カウンタが機能しない
状態 [△]保留
作成日時 2008-02-06 19:04:17
最終更新日時 2008-02-07 21:08:40

履歴

1 | 2008-02-06 19:04:17 | [−]新規
Legokichi
(loop,call、ほげ、hoge,2)

@ほげ
(A0)(ほげカウンタ)

上のような辞書「loop関数を使ってcall関数を呼び出す」とき、
呼び出された単語群内でカウンタが機能していません。

具体的には
「(loop,call、ほげ、hoge,2)」は
「(call、ほげ、hoge)(call、ほげ、hoge)」という意味なので
「hoge1hoge2」と返すべきなのですが、
「hoge(ほげカウンタ)hoge(ほげカウンタ)」となってしまいます。


過去のバージョンを調べたところ本家のやぎさんの頃からのバグのよう
です。


以下れしばのログ

--- Request ---
GET SHIORI/3.0
ID: OnPlaySatoriteScript
--- Operation ---
*OnPlaySatoriteScript
  @ほげ
  (A0)→hoge
  (ほげカウンタ) not found.
  (ほげ)→hoge(ほげカウンタ)
  (ほげカウンタ) not found.
  (call、ほげ、hoge)→hoge(ほげカウンタ)
  @ほげ
  (A0)→hoge
  (ほげカウンタ) not found.
  (ほげ)→hoge(ほげカウンタ)
  (ほげカウンタ) not found.
  (call、ほげ、hoge)→hoge(ほげカウンタ)
  (ほげカウンタ) not found.
  (ほげカウンタ) not found.
  (loop,call、ほげ、hoge,2)→hoge(ほげカウンタ)hoge(ほげカウンタ)
  return: \1hoge(ほげカウンタ)hoge(ほげカウンタ)\_w[120]\n
status code : 200
--- Response ---
Value=\1\s[10]\1hoge(ほげカウンタ)hoge(ほげカウンタ)
\_w[120]\e

2 | 2008-02-07 12:33:49 | [−]新規
タヌキ
関係者ではありませんが、コメントさせていただきます。
厳密なところは分かりませんが、参考までに・・・。

loop関数の仕様は
http://tseb.net/?RUpa
こちらにあるとおりで、里々的な書式としては

(loop,(call,ほげ,hoge),2)

となるはずです。
ただし、これは動作いたしません。
なぜなら、この記述ですとloop関数は「call,ほげ,hoge」という
名前の関数を呼び出そうとするからで、この場合、callは機能していま
せん。
callを機能させようと思ったら、以下のように記述する必要がありまし
た。

*
(loop,ほげ呼び出し,2)

@ほげ呼び出し
(call,ほげ,hoge)

@ほげ
(A0)(ほげ呼び出しカウンタ)

これならば、出力が「hoge1hoge2」となります。
もっと簡単な解決策があるような気がしますが、
とりあえず私ならこうする、という感じです。

3 | 2008-02-07 21:08:40 | [△]保留
Legokichi
私はとんでもない勘違いをしていたようです。

(loop,call、ほげ、hoge,2)
@ほげ
(A0)(ほげカウンタ)

上記のような辞書のとき、

 (loop、犬、3)→(犬)(犬)(犬)
カウンタ名:(犬カウンタ)

なわけですから、本当は

(loop,call、ほげ、hoge,2)→(call、ほげ、hoge)(call、ほげ、
hoge)(call、ほげ、hoge)
カウンタ名:(call、ほげ、hogeカウンタ)
→※(ほげカウンタ)ではない!

という意味になるのでした。
私の里々文法上のミスでした。


loopを二重引数区切りにして内部関数なりSAORIなりを直接呼出すこの方
法は色々便利なのですが、
カウンタ名が(call、ほげ、hogeカウンタ)などとカウンタではなく、
引数付き呼び出しなってしまいます。
また、call以外のときの対応なども含めて色々問題があるようです。

なのでこの件は一旦保留とします。

[リプライをつける]
Bug Tracking System 影舞 0.8.8
Powered by Ruby 1.8.7