gpt4 book ai didi

ruby-on-rails - 为什么 Ruby File 类不包含 size 实例方法

转载 作者:数据小太阳 更新时间:2023-10-29 07:47:02 26 4
gpt4 key购买 nike

File 类有一个名为 size 的类方法,它接受一个路径并返回该路径指向的文件的大小。在文件上没有名为 size 的实例方法的原因是什么。

这就是为什么它对我很重要。

我正在使用 httpclient gem。我用它来将文件上传到服务器。例如,我将使用以下语句使用 httpclient 将文件上传到服务器

file=File.open("foo.txt")
HttpClient.new.put("/upload", file)

如果我没有将 size 实例方法添加到 File 类中,它会提示,所以我继续进行猴子修补,如下所示,

 class File
def size
@file_size ||= File.size(self.path)
end
end

这行得通,但我想知道是否存在未将 size 方法添加为实例方法的原因,以及是否有更好的方法来完成我所做的事情。

最佳答案

此方法存在于 1.9.2 as documented因此,如果该方法已经定义,您可能希望避免添加此补丁。

您所做的另一件事是缓存结果,这可能是错误的形式,因为它会随着文件被附加、截断或取消链接而改变。

关于ruby-on-rails - 为什么 Ruby File 类不包含 size 实例方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7681975/

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