Class: String

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

Constant Summary collapse

HANZEN_TAB =
{
" " => " ", "!" => "", '"' => "", "#" => "", 
"\$" => "", "%" => "", "&" => "", "'" => "",
"(" => "", ")" => "", "*" => "", "+" => "",
"," => "", "-" => "", "." => "", "/" => "",
"0" => "", "1" => "", "2" => "", "3" => "",
"4" => "", "5" => "", "6" => "", "7" => "",
"8" => "", "9" => "", ":" => "", ";" => "",
"<" => "", "=" => "", ">" => "", "?" => "",
'@' => "", "A" => "", "B" => "", "C" => "",
"D" => "", "E" => "", "F" => "", "G" => "",
"H" => "", "I" => "", "J" => "", "K" => "",
"L" => "", "M" => "", "N" => "", "O" => "",
"P" => "", "Q" => "", "R" => "", "S" => "",
"T" => "", "U" => "", "V" => "", "W" => "",
"X" => "", "Y" => "", "Z" => "", "[" => "", 
"\\" => "", "]" => "", "^" => "", "_" => "_",
"`" => "", "a" => "", "b" => "", "c" => "",
"d" => "", "e" => "", "f" => "", "g" => "",
"h" => "", "i" => "", "j" => "", "k" => "",
"l" => "", "m" => "", "n" => "", "o" => "",
"p" => "", "q" => "", "r" => "", "s" => "",
"t" => "", "u" => "", "v" => "", "w" => "",
"x" => "", "y" => "", "z" => "", "{" => "",
"|" => "", "}" => "", "~" => ""}
HANZEN_RE =

Regexp.new(HANZEN_TAB.keys.sort.map {|x| 
  Regexp.quote(x)
}.join('|'))

Instance Method Summary collapse

Instance Method Details

#firstObject



8
9
10
11
# File 'lib/migemo/core_ext/string.rb', line 8

def first
  /^(\\.|.)/ =~ self
  $1
end

#lastObject



13
14
15
16
# File 'lib/migemo/core_ext/string.rb', line 13

def last
  /(\\.|.)$/ =~ self
  $1
end

#prefix_match(string) ⇒ Object



57
58
59
# File 'lib/migemo/core_ext/string.rb', line 57

def prefix_match (string)
  self[0, string.length] <=> string
end

#restObject



18
19
20
21
# File 'lib/migemo/core_ext/string.rb', line 18

def rest
  /^(\\.|.)(.*)/ =~ self
  $2
end

#to_fullwidthObject



53
54
55
# File 'lib/migemo/core_ext/string.rb', line 53

def to_fullwidth
  self.gsub(HANZEN_RE) {|s| HANZEN_TAB[s]}
end

#to_katakanaObject

Hiragana to Katakana



4
5
6
# File 'lib/migemo/core_ext/string.rb', line 4

def to_katakana
  self.gsub(/う゛/, '').tr('ぁ-ん', 'ァ-ン')
end