Tag: c ++

使用Swig将std :: set转换为ruby

我正在使用Swig在ruby中使用C ++。目前我已经完成了一个文件david.h的简单示例 #include class David { public: David(int x) { this->x = x; } void announce() { printf(“David %d\n”, x); } int x; }; 还有另一个像swig这样的文件 %module “david” %{ #include %} class David { public: David(int x); void announce(); int x; }; 我的extconf.rb看起来像这样 require ‘mkmf’ system(‘swig -c++ -ruby libdavid.i’) or abort create_makefile(‘david’) 这有助于我像这样在ruby中执行一个非常简单的例子 2.2.1 :001 > […]

从静态打字到动态打字

我一直致力于静态类型语言(C / C ++,Java)。 我一直在玩Clojure,我真的很喜欢它。 我担心的一件事是:假设我有一个窗口,需要3个模块作为参数,并且需求发生变化,我需要将另一个模块传递给函数。 我只是更改了函数,编译器在我使用它的任何地方都会抱怨。 但是在Clojure中,在调用函数之前不会抱怨。 我可以做一个正则表达式搜索和替换,但似乎有机会错过一个调用,它将被忽视,直到该函数实际被调用。 你们怎么处理这个?

命令行错误消息的“POSIX定义格式”是什么? 哪个标准?

在ruby-doc.org 页面上,我发现了以下关于命令行选项/参数解析(getopt库)的信息: 以POSIX定义的格式返回相应的错误消息。 如果没有发生错误,则返回nil。 什么是POSIX定义的命令行错误消息格式? 它是哪种POSIX标准? 编辑: 我必须澄清一下,在解析命令行参数/选项时,我对标准/推荐的错误消息感兴趣。 在下面的链接(答案)中,我发现只提到了getopt的这种错误格式: “%s: illegal option — %c\n”, , “%s: option requires an argument — %c\n”, , 一切都好吗?

如何从我的c扩展中访问ruby数组?

我收到了这个错误 ev.c:11: error: subscripted value is neither array nor pointer 这条线 printf(“%d\n”, pairs[0][0]); 在这段代码中 static VALUE EV; static VALUE PairCounter; static VALUE sort_pairs_2(VALUE self) { VALUE pairs; pairs = rb_ivar_get(self, rb_intern(“pairs”)); printf(“%d\n”, pairs[0][0]); return Qnil; } void Init_ev() { rb_eval_string(“require ‘./lib/ev/pair_counter'”); VALUE PairCounter = rb_path2class(“EV::PairCounter”); rb_define_method(PairCounter, “sort_pairs_2”, sort_pairs_2, 0); } 我是否正确使用自我,并且rb_ivar_get实际上并未指向PairCounter类?

为C ++选择嵌入式脚本语言

我想选择一种我将在C ++上使用的嵌入式脚本语言。 它应该连接Oracle等数据库。 我的主机应用程序是服务器应用程序 这会将原始数据传递给脚本。 该脚本将解析并执行一些特定的逻辑。 还更新数据库。 然后脚本将返回原始数据作为结果。 你能帮我选择吗? 感谢名单

Ruby中的有符号和无符号整数

像C一样,ruby是否有有符号和无符号整数,如果确实如此,那意味着String类的长度方法返回有符号整数? (因为在C整数,如果没有指定暗示签名)

void foo(int&x) – > Ruby? 通过引用传递整数?

作为一种为我的C ++编程作业增添趣味的一种方式,我决定不再将书中的C ++输入到我的计算机上,而是在Ruby中对其进行改造。 是的,它有点傻,但我很无聊。 无论如何,我在将这种function转换为Ruby时遇到了麻烦 void swap(int &a,int &b){ int c=b; b=a; a=c } 函数中等效的ruby代码是什么?

用于C / C ++的irb型工具

在编写ruby代码时,很容易通过在irb中测试它们来测试不同函数的行为方式。 但是要在C中测试代码,我通常必须打开一个单独的IDE并在那里编写代码来测试它是如何工作的。 在Unix或Windows平台上是否有类似解释器的工具?

任何编程语言中的非理性数字表示?

有没有人知道任何编程语言中的无理数表示类型/对象/类/什么? 欢迎所有建议。 简单地说,如果我有两个不合理的对象,两个都代表五的平方根,并且我将这些对象相乘,我想要回到整数五,而不是浮动4点多9’。 具体来说,我需要表示能够收集术语,而不是每次都解析为整数/浮点数。 例如,如果我想添加五比一的平方根,我不希望它返回一些近似整数/浮点数,我希望它返回一个我可以添加/乘以另一个无理对象的对象,这样我可以告诉对象在最近的时间解决以最小化浮点近似误差。 非常感谢!

为什么在Ruby 1.8.7中Symbol#to_proc较慢?

流行Ruby实现中Symbol#to_proc的相对性能表明,在MRI Ruby 1.8.7中, Symbol#to_proc比其基准测试中的替代品慢30%到130%,但在YARV Ruby 1.9中并非如此。 2。 为什么会这样? 1.8.7的创建者没有在纯Ruby中编写Symbol#to_proc 。 另外,有没有为1.8提供更快的Symbol#to_proc性能的gem? (当我使用ruby-prof时,符号#to_proc开始出现,所以我不认为我对过早优化感到内疚)