Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/nihongo/core_ext/string.rb

Instance Method Summary collapse

Instance Method Details

#to_hankakuObject



35
36
37
38
39
40
# File 'lib/nihongo/core_ext/string.rb', line 35

def to_hankaku
  str = self
  str = str.to_hankaku_eiji
  str = str.to_hankaku_suuji
  str = str.to_hankaku_katakana
end

#to_hankaku_eijiObject



42
43
44
# File 'lib/nihongo/core_ext/string.rb', line 42

def to_hankaku_eiji
  self.tr(Nihongo.zenkaku_eiji_range, Nihongo.hankaku_eiji_range)
end

#to_hankaku_katakanaObject



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/nihongo/core_ext/string.rb', line 50

def to_hankaku_katakana
  str = self

  str = str.gsub(Nihongo.zenkaku_katakana_matcher) do
    3.times do |n|
      pos = case n
        when 0 then Nihongo.dakuon.index($&)
        when 1 then Nihongo.handakuon.index($&)
        when 2 then Nihongo.zenkaku_katakana.index($&)
        end
      break "#{Nihongo.hankaku_katakana[pos]}#{Nihongo.dakuon_kigou[n]}" if pos
    end
  end

  str = str.tr(Nihongo.zenkaku_katakana, Nihongo.hankaku_katakana)
  str = str.tr(Nihongo.zenkaku_kigou, Nihongo.hankaku_kigou_with_escape)
end

#to_hankaku_suujiObject



46
47
48
# File 'lib/nihongo/core_ext/string.rb', line 46

def to_hankaku_suuji
  self.tr(Nihongo.zenkaku_suuji_range, Nihongo.hankaku_suuji_range)
end

#to_hiraganaObject



72
73
74
# File 'lib/nihongo/core_ext/string.rb', line 72

def to_hiragana
  self.tr(Nihongo.katakana_rage, Nihongo.hiragana_rage)
end

#to_katakanaObject



68
69
70
# File 'lib/nihongo/core_ext/string.rb', line 68

def to_katakana
  self.tr(Nihongo.hiragana_rage, Nihongo.katakana_rage)
end

#to_zenkakuObject



4
5
6
7
8
9
# File 'lib/nihongo/core_ext/string.rb', line 4

def to_zenkaku
  str = self
  str = str.to_zenkaku_eiji
  str = str.to_zenkaku_suuji
  str = str.to_zenkaku_katakana
end

#to_zenkaku_eijiObject



11
12
13
# File 'lib/nihongo/core_ext/string.rb', line 11

def to_zenkaku_eiji
  self.tr(Nihongo.hankaku_eiji_range, Nihongo.zenkaku_eiji_range)
end

#to_zenkaku_katakanaObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/nihongo/core_ext/string.rb', line 19

def to_zenkaku_katakana
  str = self

  str= str.gsub(Nihongo.hankaku_katakana_matcher) do
    pos = Nihongo.hankaku_katakana.index($1)
    case Nihongo.dakuon_kigou.invert[$2]
    when 0 then Nihongo.dakuon[pos]
    when 1 then Nihongo.handakuon[pos]
    else Nihongo.zenkaku_katakana[pos] + $2
    end
  end

  str = str.tr(Nihongo.hankaku_katakana, Nihongo.zenkaku_katakana)
  str = str.tr(Nihongo.hankaku_kigou_with_escape, Nihongo.zenkaku_kigou)
end

#to_zenkaku_suujiObject



15
16
17
# File 'lib/nihongo/core_ext/string.rb', line 15

def to_zenkaku_suuji
  self.tr(Nihongo.hankaku_suuji_range, Nihongo.zenkaku_suuji_range)
end