设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1787|回复: 5
打印 上一主题 下一主题

[已经解决] 写了个删除一个文件夹下指定扩展名文件的脚本,为何没用

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1789
在线时间
951 小时
注册时间
2012-7-5
帖子
245
跳转到指定楼层
1
发表于 2014-4-6 21:13:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
Dir.chdir("/mnt/sdcard/TEST")
Dir.foreach("/mnt/sdcard/TEST") do |x|
begin
File.delete(x.to_s) if x.to_s.extname == ".txt"
rescue
next
end
end
手机上写的jruby
在这文件夹里有4个txt文件
每次运行结果都是 nil 那4个txt文件一个都没少
好吧我承认是因为在别的地方问没人理我我才在这儿问的
求指点{:2_280:}
tan(pi/2)

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-4-6 21:19:35 | 只看该作者
我没记错的话,字符串是没有方法“extname"的,而这个错误被rescue掉了
获取文件名的扩展名部分好像是 File.extname(string)

评分

参与人数 1星屑 +120 收起 理由
Sion + 120 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1789
在线时间
951 小时
注册时间
2012-7-5
帖子
245
3
 楼主| 发表于 2014-4-6 21:24:55 | 只看该作者
3q
大大好厉害
解决了,
把 x.to_s.extname 改成 File.extname(x.to_s)就好了

点评

貌似.to_s是多余的?好像本来就是字符串的说  发表于 2014-4-6 21:45
tan(pi/2)
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1789
在线时间
951 小时
注册时间
2012-7-5
帖子
245
4
 楼主| 发表于 2014-4-6 21:55:05 | 只看该作者
拿这写个垃圾清理软件什么的
tan(pi/2)
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1789
在线时间
951 小时
注册时间
2012-7-5
帖子
245
5
 楼主| 发表于 2014-4-7 07:40:47 | 只看该作者
要是指定目录不存在,怎么办, rescue怎么没用?
tan(pi/2)
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

6
发表于 2014-4-7 09:25:07 | 只看该作者
浮云半仙 发表于 2014-4-7 07:40
要是指定目录不存在,怎么办, rescue怎么没用?


rescue省略参数的话只能rescue StandardError啦

方法1: rescue SystemCallError (不推荐)
方法2:先用 Dir.exist? 检查一下嘛~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-25 13:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表