gpt4 book ai didi

ruby - 使用 gets 的控制台 I/O 的额外字符

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:47 25 4
gpt4 key购买 nike

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

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

最佳答案

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

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

关于ruby - 使用 gets 的控制台 I/O 的额外字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8814816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com