challenge 文字列のセンタリング

文字列を指定のカラム幅にセンタリング配置する関数を示してください。文字列の長さが指定した幅より長い場合には文字列の両端をできるだけ均等に切り落して指定幅に収めてください。1文字は1カラムに収まるものと仮定してかまいません。

Posted feedbacks - J

文字列の前に指定幅分の空白を足して、文字列長から指定幅を引いて、
その半分を切り下げて、正なら右へ負なら左へローテイトして、
先頭から指定幅を取り出だしています。

   ('"'&,@,&'"')  1 center '123456789'
"5"
   ('"'&,@,&'"')  2 center '123456789'
"45"
   ('"'&,@,&'"')  3 center '123456789'
"456"
   ('"'&,@,&'"')  4 center '123456789'
"3456"
   ('"'&,@,&'"')  5 center '123456789'
"34567"
   ('"'&,@,&'"')  9 center '123456789'
"123456789"
   ('"'&,@,&'"')  10 center '123456789'
" 123456789"
   ('"'&,@,&'"')  11 center '123456789'
" 123456789 "
   ('"'&,@,&'"')  12 center '123456789'
"  123456789 "
1
center=.4 :'x{.((<.@-:@#)|.])(x#'' ''),y'

Index

Feed

Other

Link

Pathtraq

loading...