루비의 표준 출력에 저도 색상을 넣어봤어요.

4822 단어 Ruby
"터미널로 출력할 때 색상을 추가하고 싶은데..."이렇게 바라보면서...
Ruby-표준 출력용 색상 - Qiita
'어?(☆☆☆☆)'싶어서 해봤어요.

코드


term_color.rb
module TermColor
  COLORS = {black: 30, red: 31, green: 32, yellow: 33,  blue: 34, magenta: 35, syan: 36, white: 37, clear: nil}
  module ModuleMethods
    def method_missing(method, *args)
      if COLORS.has_key?(method)
        self.instance_eval <<-EOS
          def #{method}
            self.out_color_sequence(#{COLORS[method]})
          end
        EOS
        self.__send__(method)
      else
        super
      end
    end

    def out_color_sequence(num = nil)
      print "\e[#{num.to_s}m"
    end
  end

  extend ModuleMethods
end

if $0 == __FILE__
  TermColor.red
  puts "tomato"
  TermColor.black
  puts "coffee"
  TermColor.blue
  puts "blue hawaii"
  TermColor.blue
  puts "soda"
  TermColor.white
  puts "milk"
  TermColor.clear
end
  • 경을 써도 되지만 귀법을 배우는 동시에 method미싱을 해봤어요.
  • 집행 시 없으면 만드는 방법이 있어야 한다.
  • 실행 결과


  • 색깔 나왔어요!!!
  • ・최면술 33!!(;ro)゜


    그나저나 투고하기 전에야 알아차렸다

  • Ruby에서 ANSI 색상 서열을 배우세요!
  • HighLine, TermColor, Rainbow...편한 것 같아!
  • 총결산


    결과,gem 근처에 설치,require가 좋아요!w
    이상은 유령 방법의 제작 방법!(

    좋은 웹페이지 즐겨찾기