代码之家  ›  专栏  ›  技术社区  ›  cozimo

学习编程Ruby第11.7章

  •  -1
  • cozimo  · 技术社区  · 7 年前

    我正在为ruby编写Chris Pine的学习编程第二版书。我似乎无法复制他的Ch11.7示例。如果您有任何意见,我将不胜感激。谢谢出于某种原因,当我运行此程序时,它将放置以下内容:

    这些文件的根目录名是什么?

    测试文本

    正在下载0个文件:

    这些文件不会移动。此外,文件夹结构如下所示

    +-- _6write
    |   +-- copyfiles
    |   |   +-- New Text Document.txt
    |   |   +-- New Text Document - Copy.txt
    |   |   +-- New Text Document - Copy (2).txt
    |   +-- pastefiles
    

    #Ch 11.7 Example
    
    Dir.chdir 'C:\Users\user\Desktop\RoR\Ruby Projects\_6write\pastefiles' 
    pic_names = Dir['C:\Users\user\Desktop\RoR\Ruby 
    Projects\_6write\copyfiles\*.{txt, TXT}']
    
    puts "What do you want to call the root name for these files?" batch_name = 
    gets.chomp puts print "Downloading #{pic_names.length} files: "
    
    pic_number = 1
    
    pic_names.each do |name|   print '.'
    
      new_name = if pic_number <10
        "batch_name#{pic_number}.jpg"   else
        "batch_name#{pic_number}.jpg"   end   File.rename name, new_name
    
      pic_number = pic_number + 1 end
    
    puts
    
    puts "Done!"
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   cozimo    7 年前

    而不是

    Dir.chdir'C:\Users\user\Desktop\RoR\Ruby Projects\u 6write\pastefiles' pic_names=Dir['C:\Users\user\Desktop\RoR\Ruby']

    一定是这样

    Dir.chdir'C:/Users/dlma1/Desktop/RoR/Ruby Projects/_6write/pastefiles'

    在yaml模块中使用Dir时,必须使用So/而不是\。

    推荐文章