Как рассчитать ширину строки в Ruby?
String.length
скажу только, сколько символов в строке. (На самом деле, до Ruby 1.9 мне сообщается только сколько байтов, что еще менее полезно.)
Мне бы очень хотелось, чтобы узнать, сколько строк в формате EN. Например:
'foo'.width
# => 3
'moo'.width
# => 3.5 # m's, w's, etc. are wide
'foi'.width
# => 2.5 # i's, j's, etc. are narrow
'foo bar'.width
# => 6.25 # spaces are very narrow
Еще лучше было бы, если бы я мог получить первыйn
en of String:
'foo'[0, 2.en]
# => "fo"
'filial'[0, 3.en]
# => "fili"
'foo bar baz'[0, 4.5en]
# => "foo b"
И лучше было бы, если бы я мог выработать стратегию всего этого. Некоторые люди думают, что пространство должно быть 0.25en, некоторые думают, что это должно быть 0.33, и т. Д.