首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ruby语言中,哪个函数等同于Delphi的SizeOf函数?

在Ruby语言中,哪个函数等同于Delphi的SizeOf函数?
EN

Stack Overflow用户
提问于 2010-06-30 11:44:07
回答 3查看 278关注 0票数 2

我想要获取Ruby中的变量或类型占用的字节数。有没有与Ruby on Rails中的SizeOf函数等效的函数?

EN

回答 3

Stack Overflow用户

发布于 2010-06-30 18:04:20

正如您从注释中看到的,Ruby中没有这样的方法。由于不能直接在Ruby中操作内存,也没有显式的“简单”类型(一切都是对象),再加上Ruby的动态特性,这个方法本来就没有多大用处。

String类有一个排序的例外。因为在Ruby语言中,字符串是一个字节序列,所以String#size将在字符串中返回数据的大小。

对于实际目的来说,这应该足够了,但它是而不是内存中的字节数-除了数据本身之外,String对象还将有其他内部变量。

还要记住,所有的类和对象都可以在运行时在Ruby中动态修改,这可能会改变所使用的内存量。只需考虑将额外的实例变量添加到以前不存在的对象中的方法。

票数 2
EN

Stack Overflow用户

发布于 2010-07-03 11:06:12

如果你想让代码与你的Delphi代码兼容,那么找到Ruby的大小对你一点帮助都没有。您需要在Ruby代码中采用Delphi的大小。因为Delphi是静态类型的,所以SizeOf真的很方便--只要把Delphi的类型和相应的大小做一个表就行了。如果您有一个数组,请将表中的值乘以元素数。

票数 2
EN

Stack Overflow用户

发布于 2010-06-30 11:57:24

Scalar类型在ruby.c中定义。我不知道有什么方法可以在Ruby中了解它们的宽度。

添加:

您可以编写一个C程序,使用ruby.c来确定标量大小。然后从Ruby软件调用C程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3146323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档