可以使用组来模拟来自其他语言的“类”或“结构”数据结构

时间:2013-05-28 12:24:23

标签: data-structures livecode

LiveCode中是否有可用作关联数据“持有者”的数据结构,让我集体处理它?我来自Java / Javascript / C背景,所以我正在寻找一种Class或Struct类型的数据结构。

我找到了群组的例子,它们似乎有一些这样的功能,但感觉有点像我在弯曲语言以满足我的需求。

作为一个具体的例子,假设我的屏幕上有一个图像字段,它会随机显示一个图像,并在按下时播放相关的声音片段。我希望创建一个“结构”列表,其中包含图像的路径和相关声音片段的路径,并使用该数据填充图像字段并确定要播放的声音片段。

在这种情况下,集团是否应该使用正确的结构?或者我是否以一种与LiveCode的工作方式不相符的方式接近它?

3 个答案:

答案 0 :(得分:1)

需要一点点习惯,但xTalk世界比任何普通的程序语言都简单得多,更开放。你曾经不得不管理的很多东西都不再需要了。

因此,当splash21表示您可以将所有图像和声音引用存储在自定义属性中时,他真的说LiveCode环境包含内在的高级功能,可以使这些类型的东西立即可访问,并且唯一需要的东西你是要求他们,他们只是工作。

理解这一点的唯一方法是制作一些简单的程序,真正看到可能的东西。提出你的申请。您提到的所有内容都可以通过单个处理程序中的十几行代码完成。我建议您加入LiveCode使用列表和论坛。社区充满活力,渴望提供帮助,经常为特定问题提供全面的解决方案,但更重要的是,作为新用户的指南和导师

克雷格纽曼

答案 1 :(得分:1)

LiveCode中的数组实际上是关联数组(如哈希映射)。密钥与值相关联。值可能也是一个数组。

用户指南第5.5.7节

数组元素可能包含嵌套或子元素,使它们具有多维性。 这种类型的数组非常适合处理分层数据结构,如树或 XML。要访问子元素,只需使用一组额外的方块声明它 括号中。

put "ABC" into myVariable["myKeyName"][“aChildElement”]

另见     How to store pictures in a stack?

答案 2 :(得分:0)

戴夫 - 我希望在不久的将来能够实现类似结构的容器。同时,您可以像splash21所提到的那样,使用自定义属性(或者更好的是自定义属性集)来执行您想要的操作。这将为每个对象提供一个伪结构,您可以在属性中实现文件和声音规范。如果你将它与行为对象结合使用,你最终会非常接近真正的可继承类形式。