Comments (5)
I've updated the wiki entry for :read_length
. In general, use :length
unless your code modifies or references :value
.
http://github.com/dmendel/bindata/wiki/PrimitiveTypes#read_length
I've removed the term "fixed length" from the wiki as it is confusing. I intended it to mean "declared length", but I now see how it is confused with "constant length".
from bindata.
I need to reread it when I'm better rested tomorrow. The idea of a value (constant) field having two different lengths (one for reading, one for writing) is breaking my tired brain. Thank you!
from bindata.
You probably won't need to use it, but the feature is provided for those that do.
An example: consider a tuple that contains an integer and the english representation of that integer.
class Tuple < BinData::Record
hide :len
uint8 :the_integer
uint8 :len, :value => lambda { english.length }
string :english, :read_length => :len, :value => lambda { in_english(the_integer) }
def in_english(i)
# 0 -> "zero"
# 1 -> "one"
# ...
end
end
t = Tuple.new(:the_integer => 3)
t.inspect #=> { :the_integer => 3, :english => "three" }
from bindata.
I'm working on this project and I think this is starting to make sence with "declared". Thanks again!
from bindata.
You're welcome. Thanks for reporting and improving the docs.
from bindata.
Related Issues (20)
- Issue getting parameters to subfields HOT 1
- Support for varint HOT 3
- nbit and bit based integer HOT 2
- parse ole file err HOT 2
- Arrays are fully allocated before checking to see if they can be read HOT 3
- Customize record Bindata name HOT 2
- List example references Fixnum which is deprecated in Ruby 2.4 HOT 1
- ActiveSupport 7 compatibility - Enumerable now contains a method called maximum HOT 1
- Help: use endian to report an error, why is this?I'm using bindata in the process of writing a plugin for logstash HOT 3
- DelayedIO ignores onlyif HOT 4
- Rename parameter 'assert' as it shadows an existing method. HOT 11
- Rename parameter 'assert' as it shadows an existing method. (Linked to Closed issue-#141) HOT 2
- Calculating offsets for the delayed_io directory example HOT 2
- test failures with ruby3.1
- Dependency on Ruby 2.4 added
- Calling auto_call_delayed_io twice breaks delayed io HOT 2
- Dynamic integer HOT 1
- Question: High memory usage HOT 2
- Heterogenous array of absolutely positioned items HOT 2
- EOFError when reading unaligned little endian bit integers HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bindata.