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

Project1

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

[已经解决] 如何在XP里用外部TXT文件显示变量数那行的内容

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
77 小时
注册时间
2008-5-17
帖子
39
跳转到指定楼层
1
发表于 2015-2-19 15:55:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 clfy12 于 2015-2-19 15:55 编辑

比如将变量1=12,就能在XP里显示外部TXT文件中第12行的内容。大神们帮帮忙,谢谢啦
小小的我,生活在小小的世界里!

Lv1.梦旅人

梦石
0
星屑
50
在线时间
77 小时
注册时间
2008-5-17
帖子
39
3
 楼主| 发表于 2015-2-20 01:06:29 | 只看该作者
wolves 发表于 2015-2-19 19:50
a=File.open("abc.txt")
a.each_line do |i|
p i if a.lineno==12

谢谢大神
小小的我,生活在小小的世界里!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
155
在线时间
332 小时
注册时间
2013-7-6
帖子
356
2
发表于 2015-2-19 19:50:34 | 只看该作者
本帖最后由 wolves 于 2015-2-19 20:21 编辑

a=File.open("abc.txt")
a.each_line do |i|
p i if a.lineno==12
end
a.close

a是文件对象,abc.txt是txt文档,i是当前行内容,12是当前行数。
io的lineno方法可以获取each_line迭代的当前次数。

具体解释是
#第一行,打开文件abc.txt,打开文件的原型是
io=File.open(file,mode)
#或
io=open(file,mode)
#mode是打开方式,不想改文件的话缺省就可以了。
#如果想更改文件的话,要把mode改成"w+"或“r+"或"a+",使用"w+"会将已存在的该文件清空,使用a+会在文件结尾追加,\n是换行符,可以用正则表达式换掉。
#写文件用io的write方法:
io.write(str)
#想改变该文件现在读取的位置可以修改文件指针:
io.pos=0
#很像光标。具体内容请参考Ruby的IO类。

第二行是文件的迭代操作,打开一个文件我们可以用each_line的方法逐行获取文件内容(结尾的\n也会尾随)
两个|中间的变量是要被迭代的变量,文件相当于要被逐个迭代给变量的容器。
ruby中的for语句最终也要在ruby中变为迭代的方式each执行。
一不小心说多了-.-|||
知道i是每行的内容的字符串就行了。

最后,文件打开是占内存的,所以需要关闭,用文件的close方法就可以关闭文件了。

点评

怎麼讀文件?  发表于 2016-10-26 23:30
同感,对乱码无力-.-  发表于 2015-2-19 21:13
还要注意编码问题,因此txt文件存成utf-8格式的会省去不少问题  发表于 2015-2-19 20:46

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

偶是熬夜学编程的傻子
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-21 19:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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