xmas_tree

3268 단어 Perl루비Bash
mwed 어드벤트 캘린더 15일째의 기사입니다.
tree 명령의 결과가 치카치카 하면 xmas_tree 그럼?!



perl 버전



xmas_tree_perl.sh
function xmas_tree () {
  tree $* | perl -ne '
  binmode(STDOUT, ":utf8");
  utf8::decode($_);
  @string = split //, $_;
  foreach $char(@string) {
    $r = int(rand(15)) ;
    if($r == 1){
      $s = "\e[5m\e[37m";
      $e = "\e[m\e[m";
    } elsif ($r == 2) {
      $s = "\e[5m\e[35m";
      $e = "\e[m\e[m";
    } elsif ($r == 3) {
      $s = "\e[5m\e[33m";
      $e = "\e[m\e[m";
    } elsif ($r == 4) {
      $s = "\e[5m\e[31m";
      $e = "\e[m\e[m";
    } else {
      $s = "\e[32m";
      $e = "\e[m";
    }
    print "$s$char$e";
  }
  '
}

루비 버전



xmas_tree_ruby.sh
function xmas_tree {
  tree $* | ruby -ne '
    string = $_.split ""
    string.each do |char|
      case rand(15)
    when 1 then
      s = "\e[5m\e[37m"
        e = "\e[m\e[m"
      when 2 then
        s = "\e[5m\e[35m"
        e = "\e[m\e[m"
      when 3 then
        s = "\e[5m\e[33m"
        e = "\e[m\e[m"
      when 4 then
        s = "\e[5m\e[31m"
        e = "\e[m\e[m"
      else
        s = "\e[32m"
        e = "\e[m"
    end
      print "#{s}#{char}#{e}"
    end
  '
}

사용법



콘솔에 페탓!
실행!

움직이지 않니?



tree 명령이 없습니까?



Mac에는 기본적으로 설치되어 있지 않으므로 적절하게 설치하십시오. 편리합니다.
homebrew을 사용하면 brew install tree로 설치할 수 있습니다.

치카 치카하지 않니?



콘솔의 설정으로 BLINK 하지 않게 되어 있는 것도 있기 때문에, 적절히 설정을 바꾸어 주세요.

마지막으로



죄송합니다.

내일은 @ 하마 구치 료스케씨의 「신졸 동기 5명으로 HackDay의 해커슨에 참가해 보았다」입니다.

좋은 웹페이지 즐겨찾기