Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- lib/d1lcs/string.rb
Instance Method Summary collapse
-
#dispformat(target) ⇒ String
指定した長さに丸めたり末尾に空白を挿入したりする.
-
#dispsize ⇒ Object
文字列を表示するために使うサイズを返す.
-
#dispsize_cut(long, dot = false) ⇒ String
表示サイズに文字列を切り詰める.
-
#full_to_half ⇒ Object
数字を半角に変換する.
-
#half_to_full ⇒ Object
数字を全角に変換する.
Instance Method Details
#dispformat(target) ⇒ String
指定した長さに丸めたり末尾に空白を挿入したりする
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/d1lcs/string.rb', line 53 def dispformat(target) long = self.dispsize case long when 1..target - 1 self + ' ' * (target - long) when target self else self.dispsize_cut(target, true) end end |
#dispsize ⇒ Object
文字列を表示するために使うサイズを返す
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/d1lcs/string.rb', line 15 def dispsize charsize = 0 self.each_char do |char| if char.bytesize > 1 charsize += 2 else charsize += 1 end end charsize end |
#dispsize_cut(long, dot = false) ⇒ String
表示サイズに文字列を切り詰める
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/d1lcs/string.rb', line 33 def dispsize_cut(long, dot = false) return self if self.dispsize <= long result = '' chars = self.chars nowlong = dot ? 2 : 0 chars.each { |char| if (nowlong += char.dispsize) <= long result << char end } result << '…' if dot result << ' ' unless result.dispsize == long result end |
#full_to_half ⇒ Object
数字を半角に変換する
10 11 12 |
# File 'lib/d1lcs/string.rb', line 10 def full_to_half self.tr('0-9', '0-9') end |
#half_to_full ⇒ Object
数字を全角に変換する
5 6 7 |
# File 'lib/d1lcs/string.rb', line 5 def half_to_full self.tr('0-9', '0-9') end |