Я хочу получить количество байтов, занимаемых переменной или введите Ruby. Есть ли эквивалент функции SizeOf
в Ruby on Rails?Что эквивалентно в Ruby функции Delphi SizeOf?
ответ
Скалярные типы определены в ruby.c. Я не знаю способа узнать их ширину из Ruby.
Добавлено:
Вы могли бы написать программу, которая использует C ruby.c для определения скалярных размеров. Затем позвоните в свою программу C из вашего Ruby sw.
Я не знаю, как это сделать :( – Jett
Как вы видите из комментариев, такого метода в Ruby нет. Поскольку вы не можете манипулировать памятью непосредственно в Ruby, и нет явных «простых» типов (все это объект), и из-за динамической природы Ruby этот метод не будет очень полезен в любом случае.
Существует исключение из класса String
. Поскольку в Ruby строка представляет собой последовательность байтов, String#size
вернет размер данных в строке.
Этого должно быть достаточно для практических целей, но это не количество байтов в памяти - объект String будет содержать другие внутренние переменные в дополнение к самим данным.
Также помните, что все классы и объекты могут динамически изменяться в Ruby во время выполнения, что может изменить объем используемой памяти. Просто подумайте о методах, которые добавляют дополнительные переменные экземпляра к объекту, которого раньше не было.
Если вы пытаетесь сделать что-то совместимым с вашим кодом Delphi, чем найти размеры Ruby's не помогут вам вообще. Вы должны принять размеры Delphi в вашем рубиновом коде. Поскольку Delphi статически типизирован, SizeOf
действительно удобство - просто создайте таблицу типов Delphi и соответствующих размеров. Если у вас есть массив, умножьте значение из таблицы на количество элементов.
- 1. Что эквивалентно = ruby в php?
- 2. Что эквивалентно Ruby для setDefault()?
- 3. Что эквивалентно переменной Ruby класса @@ в Python?
- 4. Что эквивалентно __file__ python в ruby?
- 5. Что эквивалентно передаче «этого» функции?
- 6. Что эквивалентно функции ASC() VB?
- 7. Что эквивалентно функции geoip_isp_by_name PHP?
- 8. Преобразование кода C# в Delphi, что эквивалентно SafeWaitHandle?
- 9. Что эквивалентно функции .closest jQuery в AngularJs?
- 10. Что эквивалентно функции mysql_insert_id() в sqlserver?
- 11. Что эквивалентно функции datetime SQLite в PostgreSQL?
- 12. Что эквивалентно функции jQuery в Prototypejs?
- 13. Что эквивалентно функции EasyMock.aryEq в OCMOCK
- 14. Что эквивалентно функции SumIf в R
- 15. Что эквивалентно end = "" в функции возврата?
- 16. Что эквивалентно функции повторения Clojure в Racket
- 17. in C Язык, что эквивалентно Ftell() на delphi
- 18. Что эквивалентно этой конструкции в Delphi 2007 вниз?
- 19. В R что эквивалентно функции @ функции в Matlab?
- 20. В Excel, что эквивалентно функции табличной функции в R
- 21. Visual Studio эквивалентно Delphi закладки
- 22. функция Javascript, что эквивалентно для PHP функции
- 23. ASP.NET, что эквивалентно функции PHP Print_r?
- 24. Что эквивалентно :: operator в java?
- 25. Что эквивалентно & в ObjC?
- 26. Что эквивалентно :: operator в D?
- 27. Что эквивалентно REGEXP_SUBSTR в mysql?
- 28. Что эквивалентно django-flatpages в Ruby on Rails?
- 29. Что эквивалентно str.gsub (/^\ p {Word}/i, '') в Ruby 1.8.7?
- 30. Что эквивалентно getattr() в Julia
Эквивалентен чему? Я предполагаю C. – Adrian
Запуск виртуальной памяти? :-) –
Это для целей отладки или что? В Ruby такого метода нет, поэтому рассказывать нам, что вы хотите достичь, может помочь людям предложить способ сделать это. – Chuck