Почему массив (внутри блока карты) возвращает только [истина, истина, ложь], если выполняется в консоли ruby как: x = [(rand 2) == 1, (rand 5) == 3, (rand11) == 6] тогда x, x, x?
first = "stephanie"
last = "devenport"
middle = "Lbp"
full_name = "#{first} #{middle} #{last}"
puts "#{full_name}\s\s\s\s\s"
.rstrip.gsub(' ', '').split(//)
.map{ |char| [(rand 2)==1, (rand 5)==3, (rand 11)==6].any? ? "#{char + ['~', '%', '^', '#'].sample}" : "#{char.upcase + ['-', '_'].sample}" }.join.chop
запустить в терминальном возврате => S_t ~ e ~ p ~ h # A_n ~ i ^ E_L_b ~ Pd ~ e ^ v # E_n%р ~ о ~ RT