[DOC] Tweaks for Hash doc
This commit is contained in:
parent
2a55cc3fb8
commit
3a7b03242f
Notes:
git
2025-04-02 16:11:13 +00:00
54
hash.c
54
hash.c
@ -6946,24 +6946,24 @@ static const rb_data_type_t env_data_type = {
|
|||||||
*
|
*
|
||||||
* === Common Uses
|
* === Common Uses
|
||||||
*
|
*
|
||||||
* You can use a +Hash+ to give names to objects:
|
* You can use a hash to give names to objects:
|
||||||
*
|
*
|
||||||
* person = {name: 'Matz', language: 'Ruby'}
|
* person = {name: 'Matz', language: 'Ruby'}
|
||||||
* person # => {name: "Matz", language: "Ruby"}
|
* person # => {name: "Matz", language: "Ruby"}
|
||||||
*
|
*
|
||||||
* You can use a +Hash+ to give names to method arguments:
|
* You can use a hash to give names to method arguments:
|
||||||
*
|
*
|
||||||
* def some_method(hash)
|
* def some_method(hash)
|
||||||
* p hash
|
* p hash
|
||||||
* end
|
* end
|
||||||
* some_method({foo: 0, bar: 1, baz: 2}) # => {foo: 0, bar: 1, baz: 2}
|
* some_method({foo: 0, bar: 1, baz: 2}) # => {foo: 0, bar: 1, baz: 2}
|
||||||
*
|
*
|
||||||
* Note: when the last argument in a method call is a +Hash+,
|
* Note: when the last argument in a method call is a hash,
|
||||||
* the curly braces may be omitted:
|
* the curly braces may be omitted:
|
||||||
*
|
*
|
||||||
* some_method(foo: 0, bar: 1, baz: 2) # => {foo: 0, bar: 1, baz: 2}
|
* some_method(foo: 0, bar: 1, baz: 2) # => {foo: 0, bar: 1, baz: 2}
|
||||||
*
|
*
|
||||||
* You can use a +Hash+ to initialize an object:
|
* You can use a hash to initialize an object:
|
||||||
*
|
*
|
||||||
* class Dev
|
* class Dev
|
||||||
* attr_accessor :name, :language
|
* attr_accessor :name, :language
|
||||||
@ -6975,57 +6975,49 @@ static const rb_data_type_t env_data_type = {
|
|||||||
* matz = Dev.new(name: 'Matz', language: 'Ruby')
|
* matz = Dev.new(name: 'Matz', language: 'Ruby')
|
||||||
* matz # => #<Dev: @name="Matz", @language="Ruby">
|
* matz # => #<Dev: @name="Matz", @language="Ruby">
|
||||||
*
|
*
|
||||||
* === Creating a +Hash+
|
* === Creating a \Hash
|
||||||
*
|
*
|
||||||
* You can create a +Hash+ object explicitly with:
|
* You can create a \Hash object explicitly with:
|
||||||
*
|
*
|
||||||
* - A {hash literal}[rdoc-ref:syntax/literals.rdoc@Hash+Literals].
|
* - A {hash literal}[rdoc-ref:syntax/literals.rdoc@Hash+Literals].
|
||||||
*
|
*
|
||||||
* You can convert certain objects to Hashes with:
|
* You can convert certain objects to hashes with:
|
||||||
*
|
*
|
||||||
* - Method #Hash.
|
* - Method Kernel#Hash.
|
||||||
*
|
*
|
||||||
* You can create a +Hash+ by calling method Hash.new.
|
* You can create a hash by calling method Hash.new:
|
||||||
*
|
|
||||||
* Create an empty +Hash+:
|
|
||||||
*
|
*
|
||||||
|
* # Create an empty hash.
|
||||||
* h = Hash.new
|
* h = Hash.new
|
||||||
* h # => {}
|
* h # => {}
|
||||||
* h.class # => Hash
|
* h.class # => Hash
|
||||||
*
|
*
|
||||||
* You can create a +Hash+ by calling method Hash.[].
|
* You can create a hash by calling method Hash.[]:
|
||||||
*
|
|
||||||
* Create an empty +Hash+:
|
|
||||||
*
|
*
|
||||||
|
* # Create an empty hash.
|
||||||
* h = Hash[]
|
* h = Hash[]
|
||||||
* h # => {}
|
* h # => {}
|
||||||
*
|
* # Create a hash with initial entries.
|
||||||
* Create a +Hash+ with initial entries:
|
|
||||||
*
|
|
||||||
* h = Hash[foo: 0, bar: 1, baz: 2]
|
* h = Hash[foo: 0, bar: 1, baz: 2]
|
||||||
* h # => {foo: 0, bar: 1, baz: 2}
|
* h # => {foo: 0, bar: 1, baz: 2}
|
||||||
*
|
*
|
||||||
* You can create a +Hash+ by using its literal form (curly braces).
|
* You can create a hash by using its literal form (curly braces):
|
||||||
*
|
|
||||||
* Create an empty +Hash+:
|
|
||||||
*
|
*
|
||||||
|
* # Create an empty hash.
|
||||||
* h = {}
|
* h = {}
|
||||||
* h # => {}
|
* h # => {}
|
||||||
*
|
* # Create a +Hash+ with initial entries.
|
||||||
* Create a +Hash+ with initial entries:
|
|
||||||
*
|
|
||||||
* h = {foo: 0, bar: 1, baz: 2}
|
* h = {foo: 0, bar: 1, baz: 2}
|
||||||
* h # => {foo: 0, bar: 1, baz: 2}
|
* h # => {foo: 0, bar: 1, baz: 2}
|
||||||
*
|
*
|
||||||
|
* === \Hash Value Basics
|
||||||
*
|
*
|
||||||
* === +Hash+ Value Basics
|
* The simplest way to retrieve a hash value (instance method #[]):
|
||||||
*
|
|
||||||
* The simplest way to retrieve a +Hash+ value (instance method #[]):
|
|
||||||
*
|
*
|
||||||
* h = {foo: 0, bar: 1, baz: 2}
|
* h = {foo: 0, bar: 1, baz: 2}
|
||||||
* h[:foo] # => 0
|
* h[:foo] # => 0
|
||||||
*
|
*
|
||||||
* The simplest way to create or update a +Hash+ value (instance method #[]=):
|
* The simplest way to create or update a hash value (instance method #[]=):
|
||||||
*
|
*
|
||||||
* h = {foo: 0, bar: 1, baz: 2}
|
* h = {foo: 0, bar: 1, baz: 2}
|
||||||
* h[:bat] = 3 # => 3
|
* h[:bat] = 3 # => 3
|
||||||
@ -7033,7 +7025,7 @@ static const rb_data_type_t env_data_type = {
|
|||||||
* h[:foo] = 4 # => 4
|
* h[:foo] = 4 # => 4
|
||||||
* h # => {foo: 4, bar: 1, baz: 2, bat: 3}
|
* h # => {foo: 4, bar: 1, baz: 2, bat: 3}
|
||||||
*
|
*
|
||||||
* The simplest way to delete a +Hash+ entry (instance method #delete):
|
* The simplest way to delete a hash entry (instance method #delete):
|
||||||
*
|
*
|
||||||
* h = {foo: 0, bar: 1, baz: 2}
|
* h = {foo: 0, bar: 1, baz: 2}
|
||||||
* h.delete(:bar) # => 1
|
* h.delete(:bar) # => 1
|
||||||
@ -7041,13 +7033,13 @@ static const rb_data_type_t env_data_type = {
|
|||||||
*
|
*
|
||||||
* === Entry Order
|
* === Entry Order
|
||||||
*
|
*
|
||||||
* A +Hash+ object presents its entries in the order of their creation. This is seen in:
|
* A \Hash object presents its entries in the order of their creation. This is seen in:
|
||||||
*
|
*
|
||||||
* - Iterative methods such as <tt>each</tt>, <tt>each_key</tt>, <tt>each_pair</tt>, <tt>each_value</tt>.
|
* - Iterative methods such as <tt>each</tt>, <tt>each_key</tt>, <tt>each_pair</tt>, <tt>each_value</tt>.
|
||||||
* - Other order-sensitive methods such as <tt>shift</tt>, <tt>keys</tt>, <tt>values</tt>.
|
* - Other order-sensitive methods such as <tt>shift</tt>, <tt>keys</tt>, <tt>values</tt>.
|
||||||
* - The String returned by method <tt>inspect</tt>.
|
* - The string returned by method <tt>inspect</tt>.
|
||||||
*
|
*
|
||||||
* A new +Hash+ has its initial ordering per the given entries:
|
* A new hash has its initial ordering per the given entries:
|
||||||
*
|
*
|
||||||
* h = Hash[foo: 0, bar: 1]
|
* h = Hash[foo: 0, bar: 1]
|
||||||
* h # => {foo: 0, bar: 1}
|
* h # => {foo: 0, bar: 1}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user