happiness (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) happiness

ハンドルネームが一生決まらない問題を今度こそ解決する

苦しみの末にたどり着いた先

命名を補助するツールを作った。

  1. おすきな名前をローマ字入力する
  2. いい感じの並びが出るまで、押しまくる

関連記事

動機と要件の詳細について zorin.hateblo.jp

ローマ字を入力してね

    これで課題は全部カバーできそうなきがする。

    クリックして表示 > ruby版のコード

    概要

    ➤ ruby namer.rb "takashi"
    aahikst

    入力したアルファベット順に並び替えてくれる。 出力された英字に着想を得て、新しいものが思いつくかもしれない。

    コード

    class Namer
      def initialize(name)
        @name = name
        @chars = name.chars.map(&:to_sym)
        @alphabet = (:a..:z).to_a
        # @alphabet = [(:a..:z).to_a, (:a..:z).to_a].transpose.to_h
      end
    
      def size
        @name.size
      end
    
      # アルファベットを入れる
      # @return [String]
      def sort_by_index
        indexies.sort.map { |index| @alphabet[index] }.map(&:to_s).join("")
      end
    
      def indexies
       @chars.map { |char| @alphabet.find_index(char) }
      end
    end
    
    name = Namer.new(ARGV.first)
    puts name.sort_by_index
    

    使い方

    ➤ ruby namer.rb "takashi"
    aahikst

    ワンライナー

    ↓のtakashiを置き換えれば、いい感じにやってくれます。

    ➤ ruby -e 'puts ARGV.first.split("").join("\n")' "takashi" | sort | tr -d '\n'
    aahikst