Дополнительные символы из консоли ввода-вывода с использованием get - PullRequest
1 голос
/ 11 января 2012

Я пытаюсь создать программу ruby, которая создает каталог и дает ему имя, используя консольный ввод.

1 #!/usr/bin/env ruby¬
2 ¬                                                                           
3 puts 'HW date, format MM-DD:'¬
4 ¬
5 directory_name = 'hw_' + gets¬
6 ¬
7 begin¬
8 ▸ if File::directory?(directory_name)¬
9 ▸ ▸ return¬
10 ▸ end¬
11 ▸ Dir.mkdir(directory_name)¬
12 end¬

Однако у созданных директив всегда есть символы мусора на конце?

$ ./start_hw.rb 
HW date, format MM-DD:
01-13
$ ls
hw_01-13?   start_hw.rb

Как мне сделать так, чтобы оно перестало размещать? (т.е. непечатные символы)

1 Ответ

4 голосов
/ 11 января 2012

Функция ruby ​​gets возвращает символы конца строки в конце, поэтому вы должны использовать chomp для их удаления.

directory_name = 'hw_' + gets.chomp
puts directory_name.inspect  # print it to make sure there is no junk
...