Project1
标题:
关于array
[打印本页]
作者:
IamI
时间:
2008-8-18 19:04
标题:
关于array
真的很简单{/hx}
根据狭义定义,默认库array是
标准数组
还是
链表
?
同样,默认库Table是
标准多维数组
还是
数组的数组
还是链表?
只是想了解一下 [LINE]1,#dddddd[/LINE]
版务信息:本贴由楼主自主结贴~
作者:
八云紫
时间:
2008-8-18 19:12
只知道 array 是链表, 不是 C 里的数组。
Table 一次都没用过。
[LINE]1,#dddddd[/LINE]
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者:
dbshy
时间:
2008-8-18 19:17
第一个,请参考,个人感觉跟链表相似
http://rpg.blue/web/htm/news855.htm
TABLE我个人觉得是标准多维数组 [LINE]1,#dddddd[/LINE]
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者:
link006007
时间:
2008-8-18 19:39
好像.. 应该.. 大概是连续的吧... {/gg}
好像数组长度发生变化时, ruby都会重新整理出一串连续的内存空间
如果是这样的话, 那么和C的数组定义是一样的.
以上 我自己只是看上去的感觉.. 没读完源码 -o-
不过记得书里写过... 不停的更改rb数组的长度会大大减低效率... 应该就是说明rb的数组是连续的吧..., 如果是链表的话, 不会有这种事.
还有, rb的数组其实是一个指针数组, 也就是实际对象并不是存储在数组空间中.
Table是RGSS内部的... F1里说是为了避免在处理大量数据时,Ruby 的 Array 类运行效率会很差, 应该是一个针对特殊需要优化优化的数组 [LINE]1,#dddddd[/LINE]
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者:
灼眼的夏娜
时间:
2008-8-31 18:25
ruby的数组 是C里的数组,存储的类型为 VALUE(即为一个ruby层面上的对象,在C里即一个long)
table是属于RGSS自己实现的,依照我的理解,依然是一连续的内存空间。。= =
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1