safestruct gem - Safe Data Structures (Array, Hash, Struct) - Say Goodbye to Null / Nil (and the Billion Dollar Mistake)

Gerald Bauer <[email protected]>
Newsgroups gmane.comp.lang.ruby.general
Message-ID <CAAxEZd_MWPc74FOXdjB5Tiix65ivKA1WUuAKPz-v2TOb0cAaFw@mail.gmail.com>
Hello,

  I've put together a new safestruct gem / library [1] that collects
  safe data structures (array, hash, struct)
  and lets you say goodbye to null / nil (and maybe)
  to fix the billion dollar mistake.

  How can the code work without nil?

  Let's say hello to zero :-).
  The new rule for NO null/nil ever (again) is:

  **All variables - including structs, arrays and mappings (hash
dictionaries) -
  MUST ALWAYS get set (initialized) to ZERO (default) values.**

  What's zero?

  |----------------|----------------------------|
  | Type           | Value                      |
  |----------------|----------------------------|
  | Integer        | `0`      or `Integer.zero` |
  | Bool           | `false`  or `Bool.zero`    |
  | String         | `''` or `String.zero`      |
  | Array          | `[]` or `Array.zero`       |
  | Mapping (Hash) | `{}` or `Mapping.zero`     |
  | Vote (Struct)  | `Vote.new( 0, false, 0, '0x0000')` or `Vote.zero`  |
  | Address        | `0x0000` or `Address.zero` or `Address(0)`         |
  | ...            |                                                    |
  |----------------|----------------------------------------------------|


   Stay safe and set all your variables to zero - always, always,
always. Cheers. Prost.

[1] https://github.com/s6ruby/safestruct

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.