首页 分类 关于我
ruby
Nginx 配置示例 工程师的产品观 理理File/Dir/Pathname(一) TracePoint介绍 ruby中的return 如何动态改变某个class的祖先链 ObjectSpace介绍 Rails日志实现探索(3) Rails日志实现探索(2) Rails日志实现探索(1) Rails中的request rescue exception in ruby 设计模式之观察者模式 require 的故事 ruby中的编码 研究ruby的一些小技巧 Rails中间件 ruby对象的序列化 ActiveSupport宝藏之MessageVerifier 如何写rakefile Ruby on Rails 环境及准备 基于Rack的项目初始化
git
如何移除某次提交之前的版本历史 Git 不常用的好用的命令 Git高级技巧之忽略文件
database
Mysql数据库编码 从mongodb向mysql迁移数据
工具
搭建ipsec服务
linux
Linux 常用查看命令

理理File/Dir/Pathname(一)

引子

最近在写一个涉及到文件操作的小工具,在ruby中有很多方法可以获取文件,对文件进行操作,今天就对这些操作进行一个整理。

方法名 描述 返回结果类型
__FILE__ __FILE__是一个关键字,返回当前文件的绝对路径,包含文件名本身 String
File.dirname(__FILE__) 获取当前文件目录 String
Pathname.new(__FILE__) 获取当前文件目录 Pathname
Dir.pwd 返回当前工作目录,别名方法有:Dir.getwd String
`pwd` 返回当前工作目录 String
system(‘pwd’) 打印当前工作目录,返回值为ture TrueClass

说明:

关于Pathname类

ruby提供了一个标准库,pathname。

调用系统命令

有两种方法可以调用系统命令,一种是使用两个“`”符号将系统命令包起来,一种是使用“system”方法。这两种方法的返回值有所区别。示例如下:

`pwd`
# => "/Users/qin/project/blog\n"

system 'pwd'
# 这里会答应出结果
# => true

“`”包装的命令会返回字符串,system会将系统命令返回的字符串打印出来,并返回true/false/nil中的一个值。

当前工作目录,与当前文件目录

这是两个容易混淆的概念,一个是脚本所在的目录,一个是你在哪个目录下调用的脚本,Dir.pwd返回的就是哪个目录。

© 2018 www.xinshengyin.com All rights reserved.

版权所有