Значение name
равно "amit". Вы проверяете, равна ли строка "amit"
строке "k[0]"
. Это не так, поэтому вы получаете ложь.
То, что вы, вероятно, хотели сделать, это name.eql?(k[0])
, который проверял бы, является ли значение k[0]
"amit"
. Однако это все равно вернет false, потому что k[0]
это "amit \ n", а не "amit"
.
Чтобы исправить это, вы должны сделать k << l.chomp
вместо k << l
, чтобы удалить завершающий \n
.