草庐IT

文件目录

全部标签

ruby - Ruby 中的标准文件命名约定

对于包含给定类SomeCoolClass的文件,正确的或标准的文件名是什么?1.somecoolclass.rb2.some_cool_class.rb3.some-cool-class.rb4.SomeCoolClass.rb还是其他一些变体?我注意到在Rubystdlib中,使用了版本1、2和3。 最佳答案 只有Ruby(即不是Rails),命名只是一种约定。在Railsconvention使用下划线是必要的(几乎)。我认为约定#2lowercase_and_underscore.rb更常见,看起来也不错,尽管有一篇文章Here

ruby - 无法正确自动生成 Ruby DevKit 配置文件

我已经使用WindowsRuby安装程序安装了Ruby2.0,将DevKit(DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe)解压到ProgramFiles并运行rubydk.rbinit但是生成的config.yml文件没有列出我的Ruby路径。其内容如下所示:#Thisconfigurationfilecontainstheabsolutepathlocationsofall#installedRubiestobeenhancedtoworkwiththeDevKit.Thisconfig#fileisgeneratedbythe'rub

ruby - Ruby 中的文件打开模式

我是Ruby的新程序员。有人可以举例说明在Ruby中使用r+,w+,a+模式打开文件吗?它们和r,w,a有什么区别?请解释,并举例说明。 最佳答案 文件打开模式并不是真正特定于ruby​​-它们是IEEEStd1003.1(SingleUNIXSpecification)的一部分。您可以在这里阅读更多相关信息:http://pubs.opengroup.org/onlinepubs/009695399/functions/fopen.htmlrorrbOpenfileforreading.worwbTruncatetozerolen

ruby - 项目目录的相对路径

在我的Ruby项目中,我使用了一些杂乱的东西,比如在几个远程盒子上移动和编辑文件,我真的需要一些东西,比如我的根项目目录的相对路径。我有许多用于许多方法的处理文件夹。现在我对路径进行了硬编码,但这让我很不高兴。 最佳答案 你可以用这个获取当前目录(当前文件的目录)File.dirname(__FILE__)然后你可以用到根的相对路径加入它File.join(File.dirname(__FILE__),'../../')#addpropernumberof..或者您可以使用expand_path将相对路径转换为绝对路径。ENV['B

Ruby 将 CSV 文件读取为 UTF-8 和/或将 ASCII-8Bit 编码转换为 UTF-8

我正在使用ruby1.9.2我正在尝试解析包含一些法语单词(例如spécifié)的CSV文件,并将内容放入MySQL数据库中。当我从CSV文件中读取行时,file_contents=CSV.read("csvfile.csv",col_sep:"$")返回的元素是ASCII-8BIT编码的字符串(spécifié变为sp\xE9cifi\xE9),然后像“spécifié”这样的字符串没有正确保存到我的MySQL数据库中。YehudaKatz表示ASCII-8BIT实际上是“二进制”数据,这意味着CSV不知道如何读取适当的编码。所以,如果我尝试让CSV强制编码如下:file_cont

ruby - 是否可以使用 Ruby 读取文件的修改日期?

是否可以使用Ruby读取文件的修改日期?我已经成功地打开了一个文本文件并捕获了文件的内容File.open("test.txt","r").eachdo|line|"但是读取文件的修改日期会非常有用。 最佳答案 使用mtime:File.mtime("testfile")=>2014-04-1316:00:23-0300 关于ruby-是否可以使用Ruby读取文件的修改日期?,我们在StackOverflow上找到一个类似的问题: https://stacko

Ruby 在特定目录下运行 shell 命令

我知道如何在Ruby中运行shell命令,例如:%x[#{cmd}]但是,我该如何指定一个目录来运行这个命令呢?有没有类似的脱shell方式,类似Python中的subprocess.Popen:subprocess.Popen(r'c:\mytool\tool.exe',cwd=r'd:\test\local')谢谢! 最佳答案 您可以使用Dir.chdir的block版本。在block内,您位于请求的目录中,在block之后,您仍在上一个目录中:Dir.chdir('mydir'){%x[#{cmd}]}

Ruby 无法加载此类文件 - active_support/core_ext/object/blank

我试图运行brewdoctor但系统弹出错误/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in`require':cannotloadsuchfile--active_support/core_ext/object/blank(LoadError)在线搜索和另一篇帖子建议只“geminstallactivesupport”但后来我遇到了以下错误:ERROR:Errorinstallingactivesuppo

ruby - 在不将整个文件读入内存的情况下计算文件中的行数?

我正在处理庞大的数据文件(每个文件有数百万行)。在我开始处理之前,我想计算文件中的行数,这样我就可以指出处理的进度。由于文件的大小,将整个文件读入内存是不切实际的,只是计算有多少行。有人对如何执行此操作有好的建议吗? 最佳答案 一次一行读取文件:count=File.foreach(filename).inject(0){|c,line|c+1}或Perl-ishFile.foreach(filename){}count=$.或count=0File.open(filename){|f|count=f.read.count("\n"

ruby - 如何在 Ruby 中重命名文件?

这是我的.rb文件:puts"Renamingfiles..."folder_path="/home/papuccino1/Desktop/Test"Dir.glob(folder_path+"/*").sort.eachdo|f|filename=File.basename(f,File.extname(f))File.rename(f,filename.capitalize+File.extname(f))endputs"Renamingcomplete."文件从它们的初始目录移动到.rb文件所在的位置。我想当场重命名文件,而不移动它们。有什么建议吗?