40<\/a><\/strong>
41<\/a>
42<\/a><\/pre><\/td>\n def<\/span> <\/span>output_box<\/span> <\/span>str<\/span>,<\/span> <\/span>charh<\/span>,<\/span> <\/span>charv<\/span>,<\/span> <\/span>charc<\/span>
<\/span> <\/span>stra<\/span> <\/span>=<\/span> <\/span>(<\/span>str<\/span> <\/span>+<\/span> <\/span>"<\/span>\\n<\/span> <\/span>"<\/span><\/span>)<\/span>.<\/span>split<\/span>(<\/span>"<\/span>\\n<\/span>"<\/span><\/span>)<\/span>
<\/span> <\/span>stra<\/span>.<\/span>pop<\/span>
<\/span> <\/span>strl<\/span> <\/span>=<\/span> <\/span>stra<\/span>.<\/span>max_by<\/span>{<\/span>|<\/span>a<\/span>|<\/span> <\/span>a<\/span>.<\/span>length<\/span>}<\/span>.<\/span>length<\/span>
<\/span> <\/span>i<\/span> <\/span>=<\/span> <\/span>0<\/span>
<\/span> <\/span>puts<\/span> <\/span>charc<\/span> <\/span>+<\/span> <\/span>charh<\/span> <\/span>*<\/span> <\/span>(<\/span>strl<\/span> <\/span>+<\/span> <\/span>2<\/span>)<\/span> <\/span>+<\/span> <\/span>charc<\/span>
<\/span> <\/span>while<\/span> <\/span>i<\/span> <\/span><<\/span> <\/span>stra<\/span>.<\/span>length<\/span> <\/span>do<\/span>
<\/span> <\/span>print<\/span> <\/span>"<\/span>#{<\/span>charv<\/span>}<\/span><\/span> <\/span>"<\/span><\/span>
<\/span> <\/span>yield<\/span> <\/span>stra<\/span>[<\/span>i<\/span>]<\/span>,<\/span> <\/span>strl<\/span>
<\/span> <\/span>puts<\/span> <\/span>"<\/span> <\/span>#{<\/span>charv<\/span>}<\/span><\/span>"<\/span><\/span>
<\/span> <\/span>i<\/span> <\/span>+=<\/span> <\/span>1<\/span>
<\/span> <\/span>end<\/span>
<\/span> <\/span>puts<\/span> <\/span>charc<\/span> <\/span>+<\/span> <\/span>charh<\/span> <\/span>*<\/span> <\/span>(<\/span>strl<\/span> <\/span>+<\/span> <\/span>2<\/span>)<\/span> <\/span>+<\/span> <\/span>charc<\/span>
<\/span>end<\/span>
<\/span>
<\/span>def<\/span> <\/span>fancy_puts_line<\/span> <\/span>str<\/span>
<\/span> <\/span>output_box<\/span>(<\/span>str<\/span>,<\/span> <\/span>"<\/span>-<\/span>"<\/span><\/span>,<\/span> <\/span>"<\/span>|<\/span>"<\/span><\/span>,<\/span> <\/span>"<\/span>+<\/span>"<\/span><\/span>)<\/span> <\/span>{<\/span>|<\/span>a<\/span>,<\/span> <\/span>b<\/span>|<\/span> <\/span>print<\/span> <\/span>a<\/span> <\/span>+<\/span> <\/span>"<\/span> <\/span>"<\/span><\/span> <\/span>*<\/span> <\/span>(<\/span>b<\/span> <\/span>-<\/span> <\/span>a<\/span>.<\/span>length<\/span>)<\/span>}<\/span>
<\/span> |