首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ARGV (拼音)创建目录

使用ARGV (拼音)创建目录
EN

Stack Overflow用户
提问于 2020-11-20 18:00:24
回答 1查看 32关注 0票数 0

我创建这个程序是为了在存在ARGV的情况下在程序目录中创建一个文件夹。

代码语言:javascript
复制
def check_if_user_gave_input
  abort("mkdir: missing input") if ARGV.empty?
end

def get_folder_name
  return folder_name = ARGV.first
end

def create_folder(name)
  Dir.mkdir(name)
end

def perform
  folder_name = get_folder_name
  create_folder(folder_name)
end

perform

所以,如果我在我的终端运行这个程序,一切都是正常的。但是,如果我在我的终端中尝试使用它,并且在$ ruby app.rb之后没有写任何东西,我会得到一条很好的错误消息,并且我看不到字符串"mkdir: missing input"

代码语言:javascript
复制
Traceback (most recent call last):
    3: from app.rb:18:in `<main>'
    2: from app.rb:15:in `perform'
    1: from app.rb:10:in `create_folder'
app.rb:10:in `mkdir': no implicit conversion of nil into String (TypeError)

如何解决这个问题?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-20 18:39:56

只需在perform中添加check_if_user_gave_input方法

代码语言:javascript
复制
def check_if_user_gave_input
  abort("mkdir: missing input") if ARGV.empty?
end

def get_folder_name
  ARGV.first
end

def create_folder(name)
  Dir.mkdir(name)
end

def perform
  check_if_user_gave_input
  folder_name = get_folder_name
  create_folder(folder_name)
end

perform
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64927366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档