gpt4 book ai didi

ruby - 如何使用 Ruby listen gem 监控单个文件?

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

我正在尝试使用 listen gem ( https://github.com/guard/listen) 来监听特定文件,但到目前为止只能获得正常监听整个目录的基本功能。

这是我目前正在尝试的示例:

require "listen"

module FileTracker
filedir = "/home/user/dir"
filenames = [ "file1", "file2" ]

# Should only track 'file1' and 'file2' in this directory
listener = Listen.to(filedir, only: filenames) do |modified, added, removed|
puts "Updated: " + modified.first
end

listener.start
sleep
end

我也尝试过简单地将单个文件名指定为 only: 参数的字符串,但这也不起作用。

我的最终目标是能够跟踪各种目录中的用户定义文件列表以进行更改。我只想跟踪每个特定文件,而不是整个目录。

最佳答案

我没有注意我在这里做什么。 only: 显然采用了一个正则表达式,我显然未能构建和提供它。希望这可以帮助可能需要使用 listen 来观看或忽略特定文件的其他人。

这是我的工作解决方案的示例:

module FileTracker
filedir = "/home/user/dir"
filenames = [ "file1", "file2" ]

listenRegex = filenames.join("$|").gsub!(".", "\.") + "$"

# Should only track 'file1' and 'file2' in this directory
listener = Listen.to(filedir, only: /#{listenRegex}/) do |modified, added, removed|
puts "Updated: " + modified.first
end

listener.start
sleep
end

关于ruby - 如何使用 Ruby listen gem 监控单个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27240618/

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