変数のクラスを明確に識別することは可能ですか?ハッシュと配列の間の変数クラスと相違点を見つける
のようなもの:
@users.who_r_u? #=>Class (some information)
@packs.who_r_u? #=> Array (some information)
など
誰かがクラス、ハッシュ、配列、連想配列、などの違いを明確に短い説明を提供することができますか?
を使用でき変数のクラスを明確に識別することは可能ですか?ハッシュと配列の間の変数クラスと相違点を見つける
のようなもの:
@users.who_r_u? #=>Class (some information)
@packs.who_r_u? #=> Array (some information)
など
誰かがクラス、ハッシュ、配列、連想配列、などの違いを明確に短い説明を提供することができますか?
を使用でき:
@users.class
IRBでテストし、それを:
1.9.3p0 :001 > 1.class
=> Fixnum
1.9.3p0 :002 > "1".class
=> String
1.9.3p0 :003 > [1].class
=> Array
1.9.3p0 :004 > {:a => 1}.class
=> Hash
1.9.3p0 :005 > (1..10).class
=> Range
または:
1.9.3p0 :010 > class User
1.9.3p0 :011?> end
=> nil
1.9.3p0 :012 > @user = User.new
=> #<User:0x0000010111bfc8>
1.9.3p0 :013 > @user.class
=> User
これらだけ迅速IRB例あったが、それは使用を見るために十分です願っていますルビの.classの。
これはまさに私が欲しいものです!どうもありがとうございました! – antsav
また、kind_of?
を使用して、レシーバーがクラス、配列などであるかどうかをテストできます。
@users.kind_of?(Array) # => true
Class
とHash
の違いは?彼らはあまりにも異なっているので、通常の答えを出すことすらできませHash
は基本的にユニークなキーを持つ配列です。各キーには関連する値があります。それが連想配列とも呼ばれる理由です。ここで
は、いくつかの説明です:
array = [1,2,3,4]
array[0] # => 1
array[-1] # => 4
array[0..2] # => [1,2,3]
array.size # => 4
はこちらよりArray
方法チェックアウト:http://ruby-doc.org/core-1.9.3/Array.html
hash = {:foo => 1, :bar => 34, :baz => 22}
hash[:foo] # => 1
hash[:bar] # => 34
hash.keys # => [:baz,:foo,:bar]
hash.values # => [34,22,1]
hash.merge :foo => 3921
hash # => {:bar => 34,:foo => 3921,:baz => 22 }
Hash
を、それだけで、キーの一意性を維持し、あなたがそれに追加しelmentsの秩序を保つことはありません簡単に値を取得できます。
しかし、あなたが行う場合は、この:
hash.merge "foo" => 12
あなたはそれが:foo.eql? "foo"
戻りfalse
ので、新しいキーと値のペアを作成し
hash # => {:bar => 34, baz => 22, "foo" => 12, :foo => 2}
を取得します。より多くのHash
方法はこれをチェックするために
:http://www.ruby-doc.org/core-1.9.3/Hash.html
Class
オブジェクトは、短期的に説明するのは少し複雑すぎるが、あなたはそれについての詳細を知りたい場合、いくつかのオンラインチュートリアルへのreffer。
覚えておいてください、APIはあなたの友人です。
あなたはRubyのドキュメント役に立ったhttp://ruby-doc.org/core-1.9.3/Object.html
@user.class => User
@user.is_a?(User) => true
@user.kind_of?(User) => true
でこれらのメソッドを見つけることができます:<%= debug @users %>
はまだそれらすべての違いを明確に簡単な説明を見つけたいです。 thanx – antsav
ハッシュと連想配列は同じものです。クラスとは、メソッドのコレクションを含むオブジェクトの型です。ハッシュのクラスはハッシュであり、配列は配列です。 –