首先,我要说,我是一位“新”程序员,一个信息技术员,在通过各种辅导工作之后,试图解决他的第一个“真实”问题。
这就是我想做的。 我正在看一个目录, 用于. csv 文件 - 它将以这种格式: 99999_ 888_ filename. csv
我想将“ _” 文件名的每个部分都作为变量返回到另一个程序/ 标本, 用于其它任务 。 我找到了以下代码 w/ :
require rubygems
require fssm
class Watcher
def start
monitor = FSSM::Monitor.new(:directories => true)
monitor.path( /data/testing/uploads ) do |path|
path.update do |base, relative, ftype|
output(relative)
end
path.create do |base, relative, ftype|
output(relative)
end
path.delete { |base, relative, ftype| puts "DELETED #{relative} (#{ftype})" }
end
monitor.run
end
def output(relative)
puts "#{relative} added"
values = relative.split( _ ,)
sitenum = values[0]
numrecs = values[1]
filename = values[2]
puts sitenum
end
end
我的第一个“ puts” 给了我完整的文件名( 只是在那里让我看脚本在起作用 ), 而第二则将返回站点num 。 我希望能够访问此输出方法的“ 外边 ” 。 我在一个 libs/ 文件夹中有这个文件( 名为 watcher. rb), 而在名为 root 的 root 中, 我有一个第二个文件, 叫做 root.rb, 它仅包含 :
require ./lib/watcher
watcher = Watcher.new
watcher.start
我无法找到如何从这个文件中访问我的站点纳姆、 numrecs 和文件名 。 我不确定它是否需要一个变量、 实例变量或什么的。 我玩过一些W/ attr_ aaccessible and other things, 却一无所有。 我决定在这里问, 因为我一直在旋转我的车轮, 做一些事情, 我开始用自己的搜索来混淆自己。
事先感谢各位的帮助或建议。