Найти тему

Практика Ruby №12(хэш/hash/ассоциативный массив)

Оглавление

Здравствуйте!

По большей части создаю это для себя, но если кому-то пригодится попрактиковаться в Ruby с самого начала, то welcome =)

По мере своего продвижения обучения буду пополнять конспект новыми знаниями, поэтому не судите строго

По сути, это просто краткий конспект, в который я записываю все, что хочу запомнить или сложно запоминается, плюсом ко всему записывать и придумывать себе задания для практики.

Все материалы для конспекта взяты с rubyschool.us

Хэши (продолжение)

Документация к хэшу

Всегда лучше делать однородную структуру, если значение хэша массив, то все значения хэша должны быть массивом!

Массивы ключей и значений:
hh.keys
hh.values

.each_key do |key|
end
.each_value do |value|
end

Все методы которые оканчиваются на '?' возвращают значение true/false

Проверка ключа/значения: (результат будет true or false)

.has_key?
.has_value? (значение должно совпадать, если в хэше строка, то и искать нужно строку)

if hh[key] если что-то будет - true, нет - false
блок кода
end

nill автоматически преобразуется в false

If nill
puts "Это сообщение не будет выведено на экран"
end

Еще одна запись через if

puts "Мир еще не сошел с ума" if 2+2==4 или True / False
def print_details details
puts details[:name] if
details[:name]
puts
details[:age] if details[:age]
puts
details[:adress] if details[:adress]
end
hh ={
name: 'Mike'], age: 37, adress: 'West street123'}

Используется такая запись потому что, если в хэше не будет доставать одного из параметров, то программа не выведет ошибку, а покажет все что есть

Практика:

1)Переписать однорукого бандита используя хэш

2)Написать крестики нолики с выводом поля
Введите х:
Введите y:
PS: это было не просто, но я уложился в 109 строк.
Вот мой вариант крестиков и ноликов