Latest web development tutorials

روبي التجزئة (التجزئة)

التجزئة (التجزئة) مشابهة ل"مفتاح" => "قيمة" من هذه المجموعة من أزواج قيمة المفتاح. على غرار مجموعة التجزئة، لكنه لا يقتصر على استخدام الأرقام القياسية.

مؤشر التجزئة (أو "مفتاح") يمكن أن يكون ما يقرب من أي كائن.

مجموعة هاش على الرغم من أن ما شابه ذلك، ولكن هناك فرق مهم جدا: عناصر تجزئة ليست في ترتيب معين. إذا كان النظام هو المهم، ثم يجب عليك استخدام مجموعة.

خلق تجزئة

مثل مجموعة، مجموعة متنوعة من الطرق المختلفة لخلق تجزئة. يمكنك إنشاء تجزئة فارغة من خلال أسلوب فئةجديدة:

months = Hash.new

يتم إنشاء يمكنك أيضا استخدام تجزئةجديدةمع القيم الافتراضية، دون تجزئة القيمة الافتراضية هيلا شيء:

months = Hash.new( "month" )

或

months = Hash.new "month"

عند الوصول إلى تجزئة مع القيم الافتراضية في أي مفتاح، إذا كان مفتاح أو قيمة غير موجود، يعود إلى قيمة صول التجزئة الافتراضي:

#!/usr/bin/ruby

months = Hash.new( "month" )

puts "#{months[0]}"
puts "#{months[72]}"

تشغيل إخراج المثال أعلاه هو:

month
month
#!/usr/bin/ruby

H = Hash["a" => 100, "b" => 200]

puts "#{H['a']}"
puts "#{H['b']}"

تشغيل إخراج المثال أعلاه هو:

100
200

يمكنك استخدام أي كائن روبي كمفتاح أو قيمة، أو يمكن استخدام مجموعة، كما هو مبين في المثال:

[1,"jan"] => "January"

تجزئة أسلوب مضمنة

إذا كنت بحاجة إلى استدعاء الأسلوب تجزئة، تحتاج إلى مثيل كائن تجزئة. هنا هو وسيلة لإنشاء مثيل كائن تجزئة:

Hash[[key =>|, value]* ] or

Hash.new [or] Hash.new(obj) [or]

Hash.new { |hash, key| block }

هذا وسيعود كائن معطى مليئة تجزئة جديدة. الآن، باستخدام كائنات خلقت، يمكن أن نطلق أي من الطرق المتاحة. على سبيل المثال:

#!/usr/bin/ruby

$, = ", "
months = Hash.new( "month" )

months = {"1" => "January", "2" => "February"}

keys = months.keys

puts "#{keys}"

تشغيل إخراج المثال أعلاه هو:

["1", "2"]

وفيما يلي طريقة تجزئة مشترك (على افتراض كائن تجزئةالتجزئة):

لا. طريقة ووصف
1 التجزئة == other_hash
تحقق ما إذا كان لهما نفس القيمة مفتاح الشباك ليقابل عددا من أزواج قيمة المفتاح مع بعضها البعض لتحديد ما إذا كانت التجزئة هما على قدم المساواة.
2 التجزئة. [مفتاح]
استخدام القيم المرجعية الرئيسية من التجزئة. إذا لم يتم العثور على المفتاح، ثم العودة إلى القيم الافتراضية.
3 التجزئة. [مفتاح] = قيمة
قيمةنظرا للقيمةالمفتاحالمرتبطة مفتاح معين.
4 hash.clear
إزالة كافة المفاتيح من التجزئة.
5 hash.default (مفتاح = لا شيء)
إرجاع القيمة الافتراضيةللتجزئة،إن لم يكن تعيين افتراضيا =، يعود لا شيء. (إذا لم يكن موجودا المفتاح فيالتجزئة،ثم [] إرجاع القيمة الافتراضية.)
6 hash.default = الكائنات
تعيين القيم الافتراضيةللتجزئة.
7 hash.default_proc
إذاتجزئةخلقت من قبل كتلة عاد كتلة.
8 hash.delete (مفتاح) [أو]
array.delete (مفتاح) {| مفتاح | كتلة}
إزالة من مفتاحالشباكقبل الزوجالرئيسيين.إذا كانت كتلة ولم تجد مطابقة أزواج قيمة المفتاح، نتائج كتلة يتم إرجاع. قارن ذلك معdelete_if.
9 hash.delete_if {| مفتاح، قيمة | كتلة }
صحيحلكل كتلة من الكتلة، حذفالمفتاحمنالتجزئة.
10 hash.each {| مفتاح، قيمة | كتلة }
اجتيازالتجزئة، ودعامرة واحدة لكل كتلةرئيسيا،وتمرير القيمة الرئيسية على النحو صفيف عنصر اثنين.
11 hash.each_key {| مفتاح | كتلة}
اجتيازالتجزئة، ودعامرة واحدة لكل كتلةرئيسيا،وتمريرمفتاحكمعلمة.
12 hash.each_key {| key_value_array | كتلة}
اجتيازالتجزئة، ودعامرة واحدة لكل كتلةرئيسيا،وتمريرمفتاحوقيمة كوسائط.
13 hash.each_value {| قيمة | كتلة}
اجتيازالتجزئة، ودعامرة واحدة لكل كتلةرئيسية،مرتكقيمة معلمة.
14 hash.empty؟
تحقق ما إذا كان التجزئة فارغة (لا يحتوي على أزواج قيمة المفتاح)، يعودصحيحةأوخاطئة.
15 hash.fetch (مفتاح [، والتقصير]) [أو]
hash.fetch (مفتاح) {| مفتاح | كتلة}
قيمة الإرجاع منالتجزئةمن خلالمفتاح معين.إذا كنت لا تجدالمفتاح،ولم توفر معلمات إضافية، ورمي استثناءIndexError،وإذا أعطيتالافتراضي،يعودالافتراضي، وإذاكان كتلة اختياري، يتم إرجاع نتيجة كتلة.
16 hash.has_key؟ (مفتاح) [أو] hash.include؟ (مفتاح) [أو]
hash.key؟ (مفتاح) [أو] hash.member؟ (مفتاح)
معرفة ما اذا كانوجود مفتاحمعين في التجزئة، يعودصحيحةأوخاطئة.
17 hash.has_value؟ (قيمة)
تحقق ما إذا كان التجزئة تحتوي علىقيمة معينة.
18 hash.index (قيمة)
عودةلقيمةمعينة منمفتاح الشباك،عوائد إذا تم العثور على أي تطابقالنيل.
19 hash.indexes (مفاتيح)
تقوم بإرجاع مجموعة جديدة من خلال قيمة مكونات رئيسية معينة. لا يمكن العثور على مفتاح لإدراج القيمة الافتراضية. لقد تم إهمال هذه الطريقة، يرجى استخدام اختر.
20 hash.indices (مفاتيح)
تقوم بإرجاع مجموعة جديدة من خلال قيمة مكونات رئيسية معينة. لا يمكن العثور على مفتاح لإدراج القيمة الافتراضية. لقد تم إهمال هذه الطريقة، يرجى استخدام اختر.
21 hash.inspect
الخلفية طباعة التجزئة نسخة السلسلة.
22 hash.invert
إنشاء انعكاسالتجزئة،تجزئة جديدة منالمفاتيحوالقيم. وبعبارة أخرى، فإنتجزئة جديدة،قيمة التجزئة تصبح مفتاح، وسوف تصبح قيمة المفتاح.
23 hash.keys
إنشاء مجموعة جديدة مع مفتاحالشباك./ td>
24 hash.length
تقوم بإرجاع حجمتجزئةصحيح أو طول.
25 hash.merge (other_hash) [أو]
hash.merge (other_hash) {| مفتاح، oldval، newval | كتلة}
إرجاع تجزئة جديدة،تجزئةيحتوي على المحتوىوother_hashيعيد كتابة التجزئة الرئيسية معother_hashمع زوج مفتاح مكررة.
26 hash.merge! (other_hash) [أو]
hash.merge (other_hash)! {| مفتاح ، oldval، newval | كتلة}
ودمج نفسه، ولكن في الواقع لم يتغير التجزئة.
27 hash.rehash
إعادة تأسيسالتجزئةعلى أساس القيمة الحالية لكلمفتاح.إذا قمت بإدراج تغير قيمة، فإن العملية سوف تكونتجزئةإعادةفهرسة.
28 hash.reject {| مفتاح، قيمة | كتلة }
كماينطبقعلى كلكتلةرئيسية لإنشاءتجزئة جديدة.
29 hash.reject! {| مفتاح، قيمة | كتلة}
ورفضنفسه، ولكن في الواقع لم يتغير التجزئة.
30 hash.replace (other_hash)
استبدال محتوياتتجزئةother_hash المحتوى.
31 hash.select {| مفتاح، قيمة | كتلة }
إرجاع مجموعة جديدة،كتلةبإرجاع القيم مفتاحالشباكالحقيقية في أزواج.
32 hash.shift
إزالة منتجزئةفي زوج مفاتيح ويرسل قيمة المفتاح عاد كما صفيف عنصر اثنين.
33 hash.size
تقوم بإرجاع عدد صحيحالتجزئةحجم أو الطول.
34 hash.sort
يتم تحويلالتجزئةلمجموعة ثنائية الأبعاد التي تحتوي على مجموعة قيمة المفتاح وثم فرزها.
35 hash.store (مفتاح، القيمة)
تجزئةمخزنة في زوج قيمة المفتاح.
36 hash.to_a
إنشاء مجموعة ثنائية الأبعاد من التجزئة. كل زوج المفاتيح ذات قيمة في صفيف، يتم تخزين كل هذه المصفوفات في صفيف.
37 hash.to_hash
عوائدالتجزئة (النفس).
38 hash.to_s
يتم تحويلالتجزئةلمجموعة، ثم يتم تحويل مجموعة إلى سلسلة.
39 hash.update (other_hash) [أو]
hash.update (other_hash) {| مفتاح، oldval، newval | كتلة}
إرجاع تجزئة جديدة،تجزئةيحتوي على المحتوىوother_hashيعيد كتابةالتجزئةالرئيسية معother_hashمع زوج مفتاح مكررة.
40 hash.value؟ (قيمة)
تحقق ما إذا كانالتجزئةتحتوي علىقيمة معينة.
41 hash.values
تقوم بإرجاع مجموعة جديدة تحتوي على جميع القيمللتجزئة.
42 hash.values_at (الكائنات، ...)
تقوم بإرجاع مجموعة جديدة تحتوي على قيمةالتجزئةالمرتبطة مع مفتاح معين.