Listのバグ? -replace list item list-

39 views
Skip to first unread message

kazuhiko sasaki

unread,
Nov 3, 2015, 12:33:03 AM11/3/15
to 日本App Inventorユーザー会

いつも参考にさせていただいております。


今日はListブロックの動作について教えてください。

多重リストの書き換えについて、何故か思った通りの結果になりません。


次のようなブロックを組んでみました。

予定している動作は、
  1. 多重Listの任意の(この例では二番目)のListを取り出して、多重Listに付け足す
  2. 多重Listの、付け足されたListだけを書き換える(2-1 2-2)→(4-1 4-2)
  3. 多重リストの内容が((1-1 1-2)(2-1 2-2)(3-1 3-2)(4-1 4-2)となる。ハズ?
ところが何故か、多重リストの取り出されたリストまで書き換わってしまいます。
私の考え方が間違っているのでしょうか??

また、この問題を回避するために、ブロックの並べ方の工夫のアイデアなどありませんでしょうか?
Message has been deleted

kazuhiko sasaki

unread,
Nov 3, 2015, 12:57:53 AM11/3/15
to 日本App Inventorユーザー会
更に不思議な事に、このあとに続けて多重リストの2番目のリストを書き直すブロックを並べると、
触ってないはずの4番目もつられて書き換わってしまいます。
謎です??

kazuhiko sasaki

unread,
Nov 3, 2015, 9:08:06 AM11/3/15
to 日本App Inventorユーザー会
自己解決しました!

原因は「replace list item list」ブロックや「add items to list」のバグではありませんでした。

最初疑って、多重リストのリスト追加モジュールや











多重リストのリスト置き換えモジュール















まで作ってみたのですが、結果は同じで解決せず。
となると他の部分という事で、いろいろ試行錯誤していたのですが、
答えは何のためにあるのかよく判らないので無視していた「copy list」ブロックにありました。

他の人もはまるかもしれない(私だけか?)ので、別スレッドに改めて書きますが、
select list item」ブロックで多重リストに含まれるリストを取り出す場合、
変数とのあいだに「copy list」ブロックを挟む必要があるようです。

どうもお騒がせしました。
Reply all
Reply to author
Forward
0 new messages