Вероятно, невозможно сделать то, что вы хотели бы, из-за того, как Ruby представляет строки.
Как вы упомянули, в C вы можете просто увеличить указатель на строку на некоторое количество символов.Однако в Ruby класс String реализован с помощью struct RString
, который имеет поле ptr
для базовой строки C.Для Ruby не имеет смысла предоставлять метод, который увеличивает поле ptr, потому что он потеряет исходное местоположение и усложнит освобождение этой памяти.Возможно, вы сможете написать свое собственное собственное расширение для класса String, которое делает то, что вы хотите, но, вероятно, существуют дополнительные сложности (например, в отношении хеширования).