文件名称:bindata:BinData-在Ruby中解析二进制数据
文件大小:105KB
文件格式:ZIP
更新时间:2024-05-18 11:57:11
Ruby
什么是BinData? 您是否发现自己正在编写这样的代码? io = File . open ( ... ) len = io . read ( 2 ) . unpack ( "v" ) name = io . read ( len ) width , height = io . read ( 8 ) . unpack ( "VV" ) puts "Rectangle #{ name } is #{ width } x #{ height } " 这很丑陋,违反了DRY,感觉就像是在编写Perl,而不是Ruby。 有个更好的方法。 这就是您使用BinData编写以上代码的方式。 class Rectangle < BinData xss=removed> :l
【文件预览】:
bindata-master
----.travis.yml(157B)
----Rakefile(233B)
----test()
--------primitive_test.rb(5KB)
--------base_test.rb(5KB)
--------rest_test.rb(640B)
--------buffer_test.rb(4KB)
--------virtual_test.rb(1005B)
--------skip_test.rb(4KB)
--------record_test.rb(16KB)
--------stringz_test.rb(3KB)
--------warnings_test.rb(699B)
--------registry_test.rb(5KB)
--------test_helper.rb(1KB)
--------int_test.rb(4KB)
--------struct_test.rb(11KB)
--------base_primitive_test.rb(7KB)
--------count_bytes_remaining_test.rb(908B)
--------params_test.rb(4KB)
--------float_test.rb(1KB)
--------delayed_io_test.rb(5KB)
--------alignment_test.rb(1KB)
--------choice_test.rb(5KB)
--------string_test.rb(8KB)
--------uint8_array_test.rb(1KB)
--------lazy_test.rb(6KB)
--------bits_test.rb(4KB)
--------io_test.rb(14KB)
--------system_test.rb(9KB)
--------offset_test.rb(2KB)
--------array_test.rb(10KB)
----bindata.gemspec(1KB)
----Gemfile(38B)
----INSTALL(293B)
----NEWS.rdoc(7KB)
----examples()
--------gzip.rb(4KB)
--------ip_address.rb(578B)
--------nbt.rb(5KB)
--------NBT.txt(5KB)
--------tcp_ip.rb(3KB)
--------list.rb(3KB)
----.gitignore(18B)
----ChangeLog.rdoc(10KB)
----lib()
--------bindata.rb(914B)
--------bindata()
----BSDL(1KB)
----README.md(2KB)
----COPYING(2KB)