Struct rutie::Hash [−][src]
pub struct Hash { /* fields omitted */ }
Expand description
Hash
Implementations
Retrieves an AnyObject
from element stored at key
key.
Examples
use rutie::{Fixnum, Hash, Object, Symbol, VM};
let mut hash = Hash::new();
hash.store(Symbol::new("key"), Fixnum::new(1));
assert_eq!(hash.at(&Symbol::new("key")).try_convert_to::<Fixnum>(), Ok(Fixnum::new(1)));
Ruby:
hash = {}
hash[:key] = 1
hash[:key] == 1
Associates the value
with the key
.
Both key
and value
must be types which implement Object
trait.
Examples
use rutie::{Fixnum, Hash, Object, Symbol, VM};
let mut hash = Hash::new();
hash.store(Symbol::new("key"), Fixnum::new(1));
assert_eq!(hash.at(&Symbol::new("key")).try_convert_to::<Fixnum>(), Ok(Fixnum::new(1)));
Ruby:
hash = {}
hash[:key] = 1
hash[:key] == 1
Retrieves the length of the hash.
Examples
use rutie::{Hash, Fixnum, Symbol, VM};
let mut hash = Hash::new();
hash.store(Symbol::new("key1"), Fixnum::new(1));
assert_eq!(hash.length(), 1);
hash.store(Symbol::new("key2"), Fixnum::new(2));
assert_eq!(hash.length(), 2);
Ruby:
hash = {}
hash[:key1] = 1
hash.length == 1
hash[:key2] = 2
hash.length == 2
Removes all key-value pairs.
Examples
use rutie::{Hash, Fixnum, Symbol, VM};
let mut hash = Hash::new();
hash.store(Symbol::new("key1"), Fixnum::new(1));
hash.store(Symbol::new("key2"), Fixnum::new(2));
assert_eq!(hash.length(), 2);
hash.clear();
assert_eq!(hash.length(), 0);
Ruby:
hash = {}
hash[:key1] = 1
hash[:key2] = 2
hash.length == 2
hash.clear
hash.length == 0
Deletes the key-value pair and returns the value from hash whose key is equal to key. If the key is not found, it returns nil.
key
must be a type which implements the Object
trait.
Examples
use rutie::{Fixnum, Hash, Object, Symbol, VM};
let mut hash = Hash::new();
hash.store(Symbol::new("key1"), Fixnum::new(1));
hash.store(Symbol::new("key2"), Fixnum::new(2));
assert_eq!(hash.length(), 2);
let deleted = hash.delete(Symbol::new("key2"));
assert_eq!(hash.length(), 1);
assert_eq!(deleted.try_convert_to::<Fixnum>(), Ok(Fixnum::new(2)));
Ruby:
hash = {}
hash[:key1] = 1
hash[:key2] = 2
hash.length == 2
deleted = hash.delete(:key2)
hash.length == 1
deleted == 2
Runs a closure for each key
and value
pair.
Key and value have AnyObject
type.
Examples
use rutie::{Fixnum, Hash, Object, Symbol, VM};
let mut hash = Hash::new();
hash.store(Symbol::new("first_key"), Fixnum::new(1));
hash.store(Symbol::new("second_key"), Fixnum::new(2));
let mut doubled_values: Vec<i64> = Vec::new();
hash.each(|_key, value| {
if let Ok(value) = value.try_convert_to::<Fixnum>() {
doubled_values.push(value.to_i64() * 2);
}
});
assert_eq!(doubled_values, vec![2, 4]);
Ruby:
hash = {
first_key: 1,
second_key: 2
}
doubled_values = []
hash.each do |_key, value|
doubled_values << [value * 2]
end
doubled_values == [2, 4]
Trait Implementations
Returns a singleton class of current object. Read more
Gets an immutable reference to the Rust structure which is wrapped into a Ruby object. Read more
Gets a mutable reference to the Rust structure which is wrapped into a Ruby object.
Defines an instance method for the given class or object. Read more
Defines a private instance method for the given class or object. Read more
Defines a class method for given class or singleton method for object. Read more
An alias for define_method
(similar to Ruby syntax def some_method
).
An alias for define_private_method
(similar to Ruby syntax private def some_method
).
An alias for define_singleton_method
(similar to Ruby def self.some_method
).
Calls a given method on an object similarly to Ruby Object#send
method Read more
Checks whether the object responds to given method Read more
fn protect_send(
&self,
method: &str,
arguments: &[AnyObject]
) -> Result<AnyObject, AnyException>
fn protect_send(
&self,
method: &str,
arguments: &[AnyObject]
) -> Result<AnyObject, AnyException>
protect_send
returns Result<AnyObject, AnyObject> Read more
fn protect_public_send(
&self,
method: &str,
arguments: &[AnyObject]
) -> Result<AnyObject, AnyException>
fn protect_public_send(
&self,
method: &str,
arguments: &[AnyObject]
) -> Result<AnyObject, AnyException>
protect_public_send
returns Result<AnyObject, AnyObject> Read more
Converts struct to AnyObject
Read more
Gets an instance variable of object Read more
Sets an instance variable for object Read more
Unsafely casts current object to the specified Ruby type Read more
Safely casts current object to the specified Ruby type Read more
Auto Trait Implementations
impl RefUnwindSafe for Hash
impl UnwindSafe for Hash
Blanket Implementations
Mutably borrows from an owned value. Read more