ruby笔记

1、判断是否是目录,判断该目录是否存在
File.directory?(argu)


2、遍历目录
Dir.foreach(argu) do |f|
end

结果中包含"." ".."

3、改变工作目录
Dir.chdir(argu)


4、字符串移除前后空白
str.strip

返回新字符串

str.strip!

如果未改变,返回nil;如果改变,返回改变了的字符串自身

5、判断数组中是否包含某元素

array.include?(item)


6、查找字符串的子串

string.index(str)

如果找到子串,返回索引;没有找到子串,返回nil

7、获取目录中的所有文件
files = Dir.entries(dir_name)

files是字符串数组,元素是目录中文件的文件名,包括"."和".."。
文件名不是完整的路径

8、文件重命名
File.rename(old_file_name, new_file_name)

文件名必须是完整的路径

9、跨平台路径分隔符
File::SEPARATOR


10、创建文件夹
Dir.mkdir(dir_name)


11、字符串转换MD5
require 'digest/md5'
md5 = Digest::MD5.hexdigest(string)


12、long类型的整数转化为日期
Time.at(1283122880)


13、删除目录,目录中有文件就无法删除
Dir.rmdir(dir_str)

dir_str是字符串,相对当前目录

14、读取文件内容到一个字符串
str = IO.read('file_name')

file_name可以是个不包含路径的文件名

15、ActiveRecord连接数据库、获取所有的表
ActiveRecord::Base.establish_connection (
	{
		:adapter => :mysql2,
		:host => '192.168.18.32',
		:database => :xxx,
		:username => :xxx,
		:password => 'xxx'
	}
)


ActiveRecord::Base.connection.tables


16、ActiveRecord删除表、判断表是否存在
ActiveRecord::Migration.drop_table(table_name)

ActiveRecord::Base.connection.table_exists?(table_name)


17、ruby正则表达式
regex = /(ab)/
str = "abcab"

m = regex.match(str)
puts m[0] #输出ab
puts m[1] #输出ab
puts m[2] #输出nil


m是MatchData类型的对象
m = str.scan(regex) #m包含所有匹配到的字符串,是一个数组类型的对象
m.each do |n|
  puts n[0]
end
#输出
#ab
#ab


18、ActiveRecord禁用表名必须为复数
ActiveRecord::Base.pluralize_table_names = false 

你可能感兴趣的:(Ruby)