class Object

Public Instance Methods

hankaku?(value) click to toggle source
# File lib/tategaki.rb, line 3
def hankaku? value
  if(/[ -~。-゚]/ =~ value)
    true
  else
    false
  end
end
tategaki(items) click to toggle source
# File lib/tategaki.rb, line 12
def tategaki (items)

  kaomoji_list = {
    "フーン" => "(´・с_・`)",
    "ワラ" => "(p∀`)",
    "ワーイ" => "(´▽`)",
    "キター" => "(゜∀゜)",
    "ハァハァ" => "(*´Д`*)",
    "アヒャ" => "(゚∀゚)",
    "プギャー!" => "m9(^Д^)",
    "オマエモナー" => "(´∀` ) ",
    "ショボーン" => "(´・ω・`)",
    "シャキーン" => "(`・ω・´)",
    "ゴルァ" => "ヽ(`Д´)ノ",
    "ハァ?" => "(゚Д゚)",
    "ポカーン" => "( ゚д゚)",
    "ガーン!" => "(゚Д゚;)",
    "カモーン" => "щ(゚Д゚щ) ",
    "オミトオシダ!" => "m9(`Д´) ",
    "ウワァァァン!" => "ヽ(`Д´)ノ",
    "ガァーン" => "Σ (゚Д゚;)",
    "プッ" => "(´<_`  )",
    "アッソ" => "(´ι _`  )",
    "ナ、ナンダッテーッ!" => "(; ・`д・´)",
    "キニスルナ" => "(・з・)",
    "ソッスカ" => "(´C_` )",
    "2ゲット" => "(`дゝ´)",
    "ニヤリ" => "( ̄ー ̄)v",
    "マジ!?" => "( ̄□ ̄;)",
    "イヤン" => "(*/▽\*)",
    "スイマセン" => 'm(_ _ ")m',
    "イイ!" => "o(・∀・o)(o・∀・)o",
    "ターン" => ";y=ー( ゚д゚)・∵. ",
    "ウエーン" => "(つд∩)",
    "ヒャヒャヒャ" => "(゚∀゚ 三 ゚∀゚)",
    "ズザー" => "⊂(゚Д゚⊂⌒`つ≡≡≡",
    "マダァー?" => "(・∀・ )っ/凵⌒☆チンチン",
  }


  aa = items.last

  if kaomoji_list.has_key?(aa)
    kaomoji = kaomoji_list[aa]
    items.pop
  else
    kaomoji = kaomoji_list.values.first
  end
  kado_left_up = "┌"
  kado_right_up = "┐"
  kado_left_down = "└"
  kado_right_down = "┘"
  
  separater = "─"
  kabe = "│"
  retu = items.size
  gyou = nil

  # 最大の文字数を取得して、空白埋めする
  max = 0
  items.each do |item| max = item.size if max < item.size end
  items = items.map do |item| item.ljust(max, " ") end
  items.reverse!

  (-1..max).step do |i|
    if i == -1
      puts kado_left_up + "".rjust(retu, separater) + kado_right_up
      next
    elsif i == max
      puts kado_left_down + "".rjust(retu, separater) + kado_right_down + kaomoji
      next
    else
      puts kabe + (items.map do |hoge| if hankaku?(hoge[i]) then hoge[i] + " " else hoge[i] end  end.join) + kabe
    end
  end
end