2012-01-11 5 views
1

ディレクトリを作成してコンソール入力を使って名前を付けるルビープログラムをビルドしようとしています。余分なもの取得するコンソールI/Oの文字

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 

どうやってそれを停止させるのですか? (つまり印刷不可能な文字)

答えて

4

ルビのgets関数は最後に行末の文字を返します。したがって、それらを削除するにはchompを使用する必要があります。

directory_name = 'hw_' + gets.chomp 
puts directory_name.inspect # print it to make sure there is no junk 
関連する問題