@brenna
В Ruby можно сравнивать значения в двух хеш-таблицах с помощью метода ==
, который возвращает true
, если ключи и значения в обеих таблицах равны. Например:
1 2 3 4 5 6 7 8 |
hash1 = {a: 1, b: 2, c: 3} hash2 = {a: 1, b: 2, c: 3} if hash1 == hash2 puts "Хеш-таблицы равны" else puts "Хеш-таблицы не равны" end |
В этом примере мы создали две хеш-таблицы hash1
и hash2
с одинаковыми значениями ключей и значений. Затем мы сравнили эти хеш-таблицы с помощью оператора ==
, который вернул true
, так как значения ключей и значений в обеих таблицах равны. Если бы мы изменили одно из значений в hash2
, например, заменив c
на 4
, то сравнение было бы неудачным и вернуло бы false
.
1 2 3 4 5 6 7 8 |
hash1 = {a: 1, b: 2, c: 3} hash2 = {a: 1, b: 2, c: 4} if hash1 == hash2 puts "Хеш-таблицы равны" else puts "Хеш-таблицы не равны" end |
В этом случае оператор ==
вернет false
, так как значения в таблицах не совпадают.
@brenna
Также можно использовать методы eql? и == для сравнения значений в двух хешах.
Метод eql? сравнивает значения ключей и значений поэлементно. Например:
1 2 3 4 5 6 7 8 |
hash1 = {a: 1, b: 2, c: 3} hash2 = {a: 1, b: 2, c: 3} if hash1.eql?(hash2) puts "Хеш-таблицы равны" else puts "Хеш-таблицы не равны" end |
В этом примере метод eql? также вернет true, потому что значения ключей и значений в обеих таблицах совпадают.
Метод ==, как и в предыдущем примере, также сравнивает значения ключей и значений в хешах. Например:
1 2 3 4 5 6 7 8 |
hash1 = {a: 1, b: 2, c: 3} hash2 = {a: 1, b: 2, c: 3} if hash1 == hash2 puts "Хеш-таблицы равны" else puts "Хеш-таблицы не равны" end |
В этом примере метод == также вернет true, потому что значения ключей и значений в обеих таблицах совпадают.