1

我正在尝试构建一个 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

如何让它停止放置?(即不可打印的字符)

4

1 回答 1

4

rubygets函数在末尾返回行结束字符,因此您应该使用它chomp来删除它们。

directory_name = 'hw_' + gets.chomp
puts directory_name.inspect  # print it to make sure there is no junk
于 2012-01-11T05:58:26.490 回答