亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Ruby目錄操作如何進行過濾

小樊
81
2024-11-06 01:33:34
欄目: 編程語言

在Ruby中,你可以使用Dir類和select方法來過濾目錄中的文件和子目錄。以下是一個示例,展示了如何根據文件名、大小或修改日期等條件過濾目錄中的內容:

require 'date'

# 定義一個過濾函數,根據文件名過濾
def filter_by_name(files, pattern)
  files.select { |file| file.match(pattern) }
end

# 定義一個過濾函數,根據文件大小過濾(單位:字節)
def filter_by_size(files, min_size, max_size)
  files.select { |file| File.size(file) >= min_size && File.size(file) <= max_size }
end

# 定義一個過濾函數,根據修改日期過濾
def filter_by_date(files, date_range)
  files.select { |file| File.mtime(file) >= date_range.first && File.mtime(file) <= date_range.last }
end

# 獲取當前目錄下的所有文件和子目錄
files_and_dirs = Dir.glob('*')

# 示例:過濾出以".txt"結尾的文件
txt_files = filter_by_name(files_and_dirs, '\.txt$')
puts "Text files:"
puts txt_files

# 示例:過濾出大于1MB且小于10MB的文件
size_filtered_files = filter_by_size(files_and_dirs, 1024 * 1024, 1024 * 1024 * 10)
puts "\nSize filtered files (1MB - 10MB):"
puts size_filtered_files

# 示例:過濾出在過去7天內修改過的文件
date_filtered_files = filter_by_date(files_and_dirs, 7.days.ago..Date.today)
puts "\nDate filtered files (last 7 days):"
puts date_filtered_files

在這個示例中,我們定義了三個過濾函數:filter_by_namefilter_by_sizefilter_by_date。這些函數接受一個文件列表和一個過濾條件,然后使用select方法返回符合條件的文件。

你可以根據需要修改這些過濾函數,以便根據實際需求進行過濾。

0
凤城市| 商洛市| 安顺市| 巨鹿县| 松桃| 滨州市| 阜南县| 高邮市| 昌江| 拉孜县| 青河县| 东乡族自治县| 九龙县| 府谷县| 南昌县| 天峻县| 册亨县| 渭南市| 句容市| 方城县| 东乡| 突泉县| 东辽县| 习水县| 时尚| 天津市| 宁河县| 灵石县| 房产| 左云县| 泊头市| 志丹县| 巴青县| 天全县| 龙川县| 平原县| 古田县| 方正县| 和硕县| 濮阳县| 宁河县|