我有一个TinyDB,在TinyDB的每个标签中都有一个列表。 每个列表有3个项目,每个项目索引为1,2和3。 我想改变第3项,索引3。 所以我做了以下
所以我现在要保存TinyDB中的更改 并添加了storeValue命令,如下所示。
我想出了如何获取valuetoStore变量。如下。
我以前做过这个,并认为它错了,因为它仍然没有改变列表中的第3项。但是我已经添加了一个通知程序来查看它并且它是正确的。所以"替换列表项"不是我认为应该如何工作。它不能用" n替换第3项。"
有什么想法吗? 感谢。
答案 0 :(得分:1)
你的第二次尝试几乎是正确的。唯一的问题是,您应该将replace list item
块与局部变量name
一起使用,而不是再次从TinyDB
检索值。
那么您的"解决方案有什么区别"?
目前您已将列表分配给本地变量name
。然后,您将replace list item
块与列表一起使用,您无法在某处存储(您正在从TinyDB
再次加载列表)。最后,您在name
中存储变量TinyDB
(根本没有修改过)。因此,解决方案是将replace list item
块与局部变量name
一起使用,而不是从TinyDB
再次检索值。顺便说一句。局部变量name
的更好名称是list
。
进一步提示
同样在局部变量name
的定义中,您应该添加一个块,例如empty string
或0
如果你想简化一点,你可以在name
循环中移动局部变量for each
的定义。或者使用for each number
循环,为了列表,for each item in list
循环更容易使用,另请参阅documentation。您的案例中的列表是TinyDB1.GetTags
。
正如在forum中已经说过的那样,我通常会使用列表列表并将其存储在TinyDB中的一个标签中 Saj的How to work with Lists How to work with Lists and Lists of lists(pdf)appinventor.org