我需要能够用Ruby解析二进制文件.此文件包含通过包含文件偏移量和每个块长度的标头找到的数据块.
如何正确获取数据?到目前为止,我一直无法根据我读出的偏移来寻找文件,因为它们出现在字符串中,我不知道如何转换为IO#seek理解的格式.
有帮助吗?将偏移量和长度转换为可用的东西(如整数或其他东西)的一般方法会很有帮助.
我正在尝试从C++调用类方法.我已经尝试过rb_intern的所有组合,我可以想到让它工作,但我什么都没有.
示例类
class CallTest
def go
(do something here)
end
end
试图用C++调用:
rb_funcall(?, rb_intern("go"), 0);
怎么了?空间?我知道如果我在那里使用Qnil,它将调用全局函数,但我更喜欢类方法.
我是朝着错误的方向前进的吗?
另外,如果可能的话,我不希望提前知道类名,但是如果我必须要求我知道它是什么,我可以尝试将它按名称传递给我的应用程序.
我正在使用SWIG生成绑定.
我正试图在遗留数据库上放置一个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大写.返回了一些东西.看起来我将不得不这样做.我仍然不知道协会部分如何工作.那还是个问题.