小编Rob*_*use的帖子

在Ruby中解析二进制文件

我需要能够用Ruby解析二进制文件.此文件包含通过包含文件偏移量和每个块长度的标头找到的数据块.

如何正确获取数据?到目前为止,我一直无法根据我读出的偏移来寻找文件,因为它们出现在字符串中,我不知道如何转换为IO#seek理解的格式.

有帮助吗?将偏移量和长度转换为可用的东西(如整数或其他东西)的一般方法会很有帮助.

ruby binaryfiles

8
推荐指数
1
解决办法
4628
查看次数

从C++调用Ruby类方法

我正在尝试从C++调用类方法.我已经尝试过rb_intern的所有组合,我可以想到让它工作,但我什么都没有.

示例类

class CallTest
   def go
    (do something here)
   end
end

试图用C++调用:

rb_funcall(?, rb_intern("go"), 0);

怎么了?空间?我知道如果我在那里使用Qnil,它将调用全局函数,但我更喜欢类方法.

我是朝着错误的方向前进的吗?

另外,如果可能的话,我不希望提前知道类名,但是如果我必须要求我知道它是什么,我可以尝试将它按名称传递给我的应用程序.

我正在使用SWIG生成绑定.

c++ ruby

5
推荐指数
1
解决办法
4406
查看次数

遗留模式和动态查找(Ruby on Rails)

我正试图在遗留数据库上放置一个rails面.它是一个旧的Sybase 11数据库安装.我已经得到了一个使用unixODBC和FreeTDS工作的ODBC连接.我也在使用activerecord-odbc-adapter gem.

我必须使用set_table_name和set_primary_key才能使它工作到目前为止.但是,动态的find_by方法都不起作用.我总是得到一个方法遗漏错误.此外,通过关联查找不会同样的错误.正常的模型发现工作,但我希望我可以简写一些.

我是SOL,因为它是一个遗留数据库,或者我可以做什么或检查以使其工作?

如果可以,这将节省我编写SQL的一些工作.

谢谢.

编辑:

控制台输出:

Person.find_by_last_name("Smith")


NoMethodError: undefined method `find_by_last_name' for Person(Table doesn't exist):Class
    from /opt/ruby-enterprise-1.8.6-20090201/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1778:in `method_missing'
    from (irb):1


Person.find(:first, :conditions => { :last_name => "Smith" })

#<Person Person_ID: <redacted>, Title: "Mr.", First_Name: "Aaron", Middle_Name: "Michael", Last_Name: "Smith", Suffix: nil, Preferred_Name: nil
Run Code Online (Sandbox Code Playgroud)

进一步编辑:

我做了一个疯狂的猜测并将Last_Name大写.返回了一些东西.看起来我将不得不这样做.我仍然不知道协会部分如何工作.那还是个问题.

ruby activerecord ruby-on-rails

3
推荐指数
1
解决办法
1845
查看次数

标签 统计

ruby ×3

activerecord ×1

binaryfiles ×1

c++ ×1

ruby-on-rails ×1