ruby Dir类
类方法
1. Dir[pat]
Dir::glob( pat)
返回一个数组,包含与指定的通配符模式 pat 匹配的文件名:
- * - 匹配包含 null 字符串的任意字符串
- ** - 递归地匹配任意字符串
- ? - 匹配任意单个字符
- [...] - 匹配封闭字符中的任意一个
- {a,b...} - 匹配字符串中的任意一个
# 获取当前目录中所有的文件名
puts Dir.glob('*') # 获取当前目录中所有隐藏文件名
puts Dir.glob('.*') # 获取当前目录中扩展名为.rb或者.txt的文件
puts Dir.glob(['*.rb', '*.txt'])
puts Dir.glob(%w(*.rb *.txt)) # 或者这样 # 获取当前目录及其子目录下的所有文件, 递归查找目录
puts Dir.glob('**/*') # 获取当前目录下所有后缀为.txt的文件名,递归查找目录
puts Dir.glob('**/*.txt')
2. Dir::chdir( path)
改变当前目录。
puts Dir.pwd #=> D:/Program Files/RubyMine 2017.test.text.5/workspace/dir
Dir.chdir('../') #=> 移动到上层路径
puts Dir.pwd #=> D:/Program Files/RubyMine 2017.test.text.5/workspace
io = File.open('test.rb') #=> 打开D:/Program Files/RubyMine 2017.test.text.5/workspace目录下的test.rb文件
io.close
3. Dir::getwd
Dir::pwd
返回当前目录
4. Dir::mkdir( path[, mode=0777])
创建指定目录,可指定目录权限。如果创建失败则返回 SystemCallError 错误
5. Dir::rmdir( path)
Dir::unlink( path)
Dir::delete( path)
删除空的文件夹,如果文件夹内有文件,则会有 SystemCallError 崩溃
6. Dir::new( path)
Dir::open( path)
Dir::open( path) {| dir| ...}
返回 path 的新目录对象。如果 open 给出一个块,则新目录对象会传到该块,块会在终止前关闭目录对象
# 目录内容的读取
#test.text.while
dir = Dir.open('./')
while name = dir.read
p name
end
dir.close # 2.each
dir = Dir.open('./')
dir.each do |name|
p name
end
dir.close # 3.open(常用,使用该方法后可以省略close方法的调用)
Dir.open('./') do |dir|
dir.each do |name|
p name
end
end
7. Dir::foreach( path) {| f| ...}
为 path 指定的目录中的每个文件执行一次块
实例方法

ruby Dir类的更多相关文章
- 雷林鹏分享:Ruby Dir 类和方法
Ruby Dir 类和方法 Dir 是一个表示用于给出操作系统中目录中的文件名的目录流.Dir 类也拥有与目录相关的操作,比如通配符文件名匹配.改变工作目录等. 类方法 序号方法 & 描述 1 ...
- 雷林鹏分享:Ruby File 类和方法
Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) ...
- Ruby on Rails Tutorial 第四章 Rails背后的Ruby 之 类
Ruby和其他面向对象的语言一样,使用类来组织方法,然后实例化类,创建对象.1.构造方法使用双引号是字符串的字面构造方法,也可以使用“具名构造方法”,即在类名上调用new方法 >> s=& ...
- objective-c中类似ruby枚举类的实例方法
虽然obj-c的语法格式略显繁琐,但它和ruby都从某些方面继承了smalltalk的某些动态的东西.这些东西是 C和C++之类的静态语言所不曾有的. 比如ruby中可以将一个类或对象的所有方法枚举出 ...
- RUBY的类封装,继承,多态简单演示
class Person def initialize(name,age=18) @name=name @age=age @motherland="China" end def t ...
- ruby File类
类方法 路径相关: File.basename(filename <, suffix>) -> string返回给定文件名 filename 的最后一部分.如果有 suffix 参数 ...
- ruby Time类与Date类
Time类用于表示时间.时间除了表示年月日时分秒的信息外,还包含了表示地域时差的时区(time zone)信息.例如我们可以计算中国当前时间是国际协调时间的几点 Date类只用于表示年月日.因此,相对 ...
- ruby URI类
一. URI require 'uri' uri = URI("http://foo.com/posts?id=30&limit=5#time=1305298413") # ...
- Ruby Proc类
Proc类 生成 Proc.new() {...} proc {...} 注,代码块参数带用 |..., *array| 获得后续参数的数组 lamda {...} call呼出时会 ...
随机推荐
- 排查在 Azure 中创建新 Linux 虚拟机时遇到的 Resource Manager 部署问题
本文内容 常见问题 收集活动日志 问题:自定义映像:预配错误 问题:自定义/库/应用商店映像:分配失败 后续步骤 尝试创建新的 Azure 虚拟机 (VM) 时,遇到的常见错误是预配失败或分配失败. ...
- 【Spring实战】—— 9 AOP环绕通知
假如有这么一个场景,需要统计某个方法执行的时间,如何做呢? 典型的会想到在方法执行前记录时间,方法执行后再次记录,得出运行的时间. 如果采用Spring的AOP,仅仅使用前置和后置方法是无法做到的,因 ...
- groupdel
功能说明:用于删除指定的用户组,此命令不能删除用户归属的主用户组.
- linux下vi的一些简单的操作
前言 在嵌入式linux开发中,进行需要修改一下配置文件之类的,必须使用vi,因此,熟悉 vi 的一些基本操作,有助于提高工作效率. 一,模式 vi编辑器有3种模式:命令模式.输入模式.末行模式.掌握 ...
- mvc做网站怎么在mvc中直接访问.html网页 [问题点数:20分]
最近用.net mvc做一个网站 我想在mvc中直接访问一个 .html页面 怎么设置一下啊 现在直接访问是404不让访问的 放到view文件夹外面...
- LeetCode: Recover Binary Search Tree [099]
[题目] Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without cha ...
- python:序列与模块
一,序列化模块 什么叫序列化——将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 比如,我们在python代码中计算的一个数据需要给另外一段程序使用,那我们怎么给? 现在我们能想到的方法就 ...
- CentOS如何部署TinyProxy
TinyProxy是个非常便利,及容易架设的HTTP代理 安装方法 rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release- ...
- 我想写一个前端开发工具(一):在npm发布模块
有必要说说我为什么要开始写这个,正文从下面的第一条开始 我最近忙于公司的项目,一直没有抽出时间来写文章.本来想每个月写一片文章,保质保量,无奈上个月没有坚持. 这段时间有点忙,主要是由于公司业务调整, ...
- 表达式过滤器 lowercase
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...