我正在尝试构建一个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
如何让它停止放置? (即不可打印的字符)
答案 0 :(得分:4)
ruby gets
函数返回末尾的行结尾字符,因此您应该使用chomp
删除它们。
directory_name = 'hw_' + gets.chomp
puts directory_name.inspect # print it to make sure there is no junk