可以在Ruby中使用指针吗?

时间:2011-08-26 18:00:04

标签: ruby

我认为Ruby被解释为C.如果是这样,我如何使用指针和其他功能的概念作为C环境的一部分? 我们如何利用Ruby的简单性来利用C的强大功能?

2 个答案:

答案 0 :(得分:26)

在Ruby中,(几乎)每个变量实际上都是一个对象的引用/指针,例如

a = [0, 1, 23]
b = a
a << 42
p b

将提供[0, 1, 23, 42],因为ab指向同一个对象。

事实上,你一直在使用指针。

如果你想像在C中那样进行指针运算,那么Ruby就无法做到这一点。

答案 1 :(得分:3)

“C的强大功能和Ruby的简洁性”可以通过FFI获得,这是一个比Win32APIDL更好的界面。

使用FFI可以处理来自C的指针。

以下是两个可以帮助您入门的示例:

  1. How to call a C function from a DLL that returns a pointer to a string
  2. How to call a Win32 function from within Ruby