#这个是深度优先搜索
def find(*paths)
paths.collect!{|d| d.dup}
while file=paths.shift
catch(:prune) do
yield file.dup.taint
next unless File.exist? file
begin
if File.lstat(file).directory? then
d=Dir.open(file)
begin
for f in d
next if f=="." or f==".."
if File:: ALT_SEPARATOR and file=~/^(?:[\/\\]|[A-Za-z]:[\/\\]?)$/ then
f=file+f
elsif file=="/" then
f="/"+f
else
f=File.join(file,f)
end
paths.unshift f.untaint #要变成广度优先,最小限度的修改paths.unshift改为paths.push
end
ensure
d.close
end
end
rescue Errno::ENOENT,Errno::EACCES
end
end
end
end
find('/home/season/桌面/linux'){|f| puts f}
分享到:
相关推荐
Rubyzip是用于读取和写入zip文件的ruby库。 重要的提示 Rubyzip界面已更改!!! 无需删除类名中的require "zip/zip"和Zip前缀。 如果任何需要旧版rubyzip的第三方gem出现问题,则可以使用以下解决方法: gem '...
Learn the principles behind object-oriented programming and within a few chapters create a fully functional Ruby application. You'll also gain a basic understanding of many ancillary technologies such...
使用路径遍历(CVE-2019-5418)和Ruby对象反序列化的RCE on Rails 5.2.2(CVE-2019-5420) 技术分析: CVE-2019-5418- CVE-2019-5420- //hackerone.com/reports/473888 安全部门: CVE-2019-5418- //groups....
Simple-Ruby-application:使用Ruby on Rails的简单CRUD Web应用程序
Ruby文件的扩展名通常为.rb。编写代码时,需要遵循Ruby的语法规则,并可以利用Ruby丰富的库和框架来简化开发过程。 调试Ruby代码:在编写代码的过程中,可能需要进行调试以查找和修复错误。Ruby提供了多种调试方式...
Ruby API:轻松查找Ruby文档 Ruby API使搜索或浏览Ruby语言API文档变得轻松快捷。 为什么? 现有的Ruby文档网站很难搜索,也无法在移动设备上阅读。 Ruby API提供了受启发的即时搜索结果,以及易于在任何大小的...
ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件
了解树木登录信息:用户名:“贾马尔”密码:“jamalistthebest”
可以构建Ruby版本的公式和工具,可以在文件系统上的任何位置安装和运行这些版本。 如何安装这些公式 只需brew install homebrew/portable-ruby/<formula> 。 如何为这些公式构建软件包 苹果系统 在OS X 10.10 VM内...
完整课程: : 项目配置创建配置文件: cp config/rubyflow.yml.example config/rubyflow.yml创建新的Github应用程序,并用您应用程序的CLIENT_ID和CLIENT_SECRET替换占位符,以便能够通过Github帐户登录。...
It starts by explaining the principles behind object-oriented programming and within a few chapters builds toward creating a genuine Ruby application. The book then explains key Ruby principles, such...
exerb:生成ruby的可执行文件 用法:先在ruby下运行install.rb 使用命令行cd到目录下,然后 使用: mkexy 文件路径 exerb 生成的.exy文件的路径 说明:mkexy把*.rb所需的类库文件都包含进来 特点:速度相对快点,生成...
使用RUBY语言将TXT文件中的内容写入到excel中!
NULL 博文链接:https://huigou.iteye.com/blog/1154745
Ruby经典系列: exceptional ruby 教你在ruby代码中如何处理异常
在ruby中我们要实现遍历指定目录的方法,网上的方法也非常之多,我们可以拿来参考参考,如下边的traverse.rb文件内容所示: 代码如下: #!/usr/bin/ruby def traverse(filepath) if File.directory?(filepath) ...
ifTable”而不是“ 1.3.6.1.2.1.2.2”)为SNMP :: Manager API的参数包括所有当前IETF MIB的符号数据文件与Ruby 1.9及更高版本兼容有关更多详细信息,请参见SNMP :: Manager,SNMP :: TrapListener和SNM
瓦斯默·鲁比 基于Ruby的完整和成熟的WebAssembly运行时。 特征: 易于使用: wasmer API模仿标准的WebAssembly API, ... 然后,我们可以使用examples/simple.rb文件在Ruby(!)中执行它: require "wasmer
ruby的库帮助文件,对于Ruby开发者应该必备的工具