Ruby 在一行中打印大字符串(二十一点纸牌游戏)

Ruby print big string in one line (black-jack card game)

我想在控制台中为扑克牌做一个漂亮的输出。 不能一行输出

无法找到/删除干扰换行符

def face_card(rank, suite)
    card = <<EOS
      ┌──────────┐
       #{rank}      
      │          │
      │          │
           #{suite}    
      │          │
      │          │
               #{rank}
      └──────────┘
EOS
    card
end

b = [[2,"\u{2660}"],['J',"\u{2663}"],['K',"\u{2666}"]]
b.each do |arr|  print a.face_card(arr[0],arr[1]) end
[enter image description here][1]


  [1]: https://i.stack.imgur.com/PbPxa.png

我的解决方法:我把卡片图案的每一部分都打散,然后放上相应的卡片数据部分

b = [[2,"\u{2660}"],['J',"\u{2663}"],['K',"\u{2666}"]]


def face_cards(cards)
  size = cards.size
  ranks = cards.map(&:first)
  suites = cards.map(&:last)

  puts "┌──────────┐ " * size
  puts " %s           " * size % ranks
  puts "│          │ " * size
  puts "│          │ " * size
  puts "     %s       " * size % suites
  puts "│          │ " * size
  puts "│          │ " * size
  puts "         %s   " * size % ranks
  puts "└──────────┘ " * size
end

face_cards(b)

┌──────────┐ ┌──────────┐ ┌──────────┐ 
 2            J            K           
│          │ │          │ │          │ 
│          │ │          │ │          │ 
     ♠            ♣            ♦       
│          │ │          │ │          │ 
│          │ │          │ │          │ 
         2            J            K   
└──────────┘ └──────────┘ └──────────┘