Class: Morsby::CLI
- Inherits:
-
Object
- Object
- Morsby::CLI
- Defined in:
- lib/morsby/cli.rb
Constant Summary collapse
- PUNCTUATION_CODES =
{ '?' => '..--..', '.' => '.-.-.-', ',' => '--..--', '/' => '-..-.', '-' => '-....-', '(' => '-.--.', ')' => '-.--.-' }
- DEFAULT_DOT_UNIT =
デフォルト(ビギナーモード)とプロモードの音長
0.15- PRO_DOT_UNIT =
0.08
Instance Method Summary collapse
-
#run(argv) ⇒ Object
モールス仕様: 短音=1拍、長音=3拍、文字内パーツ間=1拍、文字間=3拍、単語間=7拍 だが、文字間は3だと短く感じたので4に修正した 単語間はスペースで分割し、その際7拍分空ける.
Instance Method Details
#run(argv) ⇒ Object
モールス仕様: 短音=1拍、長音=3拍、文字内パーツ間=1拍、文字間=3拍、単語間=7拍だが、文字間は3だと短く感じたので4に修正した単語間はスペースで分割し、その際7拍分空ける
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/morsby/cli.rb', line 31 def run(argv) @language = :ja if (lang_index = argv.index("--lang")) || (lang_index = argv.index("-lang")) desired_lang = argv[lang_index + 1] @language = :en if desired_lang && desired_lang.downcase == "en" argv.delete_at(lang_index + 1) argv.delete_at(lang_index) end # プロモード判定 @dot_unit = DEFAULT_DOT_UNIT if (pro_index = argv.index("--pro")) @dot_unit = PRO_DOT_UNIT argv.delete_at(pro_index) end @dash_unit = @dot_unit * 3 @intra_char_gap = @dot_unit @letter_gap = @dot_unit * 3 @word_gap = @dot_unit * 7 if argv.empty? print_help return end input_str = argv.join(" ") if input_str.start_with?("-h") || input_str.start_with?("-help") print_help return elsif input_str.start_with?("-learn") @mode = :learn learn_mode_interactive else @mode = :output unless play_installed? && !on_windows? return end convert_and_sound(input_str) end end |