рубиновый эквивалент буфера c - PullRequest
1 голос
/ 12 сентября 2010

Я работаю над небольшим сценарием, использующим привязки USB для ruby.

Поскольку это всего лишь оболочка для libusb, все функции C ++ видны через абстракцию, например, когда usb_bulk_read требует предоставления буфера в качестве аргумента (который будет просто указателем в C).

Как я могу создать буфер длиной 64 байта для следующего бита кода, не создавая строку с 64 пробелами, закодированную в программе (что я делаю в ATM). Я бы хотел, чтобы у Руби были указатели на это!

data =  "          "; /#etc. You get the idea
handle.usb_bulk_read(1, data, 0)

Где handle - это объект USB :: DevHandle, который уже был открыт.

1 Ответ

1 голос
/ 12 сентября 2010

Простой ответ, который, вероятно, позволяет избежать основной проблемы:

data = ' ' * 64
...