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

Project1

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

[讨论] 怎么操作文件最简单?

[复制链接]

Lv2.观梦者

梦石
0
星屑
645
在线时间
579 小时
注册时间
2010-2-15
帖子
1367
跳转到指定楼层
1
发表于 2012-1-26 20:25:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 315038639 于 2012-1-27 10:00 编辑

R题,就是怎么创建一个文件(文本文档啊,应用程序拓展文件啊什么的,只要是能读取数据的都OK啦)
怎么读取/写入这个文件の最简单的方法

(&为什么我死活都找不到一个RGSS2/RGSS3脚本的教程捏!F1里的太简单了呀,6R难道没人写一个教程吗?!)

最好RGSS2的

【例题】
使用您答案中的解决方案实现下述效果:
在当前目录下建立一个子目录
在该子目录下新建一个文本文档
写入如下三行数据
楼主万岁
正解万岁
6R万岁万岁万万岁

保存文档
读取该文件第n行数据
显示第n行数据内容(print)

球史上最简单の解决方案

(脑细胞活跃的小盆友们可以看一下我的签名)

点评

http://bbs.66rpg.com/thread-217670-1-1.html  发表于 2012-1-27 11:57

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

2
发表于 2012-1-26 20:32:46 | 只看该作者
File.open("filemane","wb/rb"){|f|f.write/f.read...}

点评

你可是最近抢楼帖的主角呢 怎么被屏蔽了?难道也中无限警告了么?默哀。。。  发表于 2012-1-30 13:53
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
645
在线时间
579 小时
注册时间
2010-2-15
帖子
1367
3
 楼主| 发表于 2012-1-26 20:33:38 | 只看该作者
yangff 发表于 2012-1-26 20:32
File.open("filemane","wb/rb"){|f|f.write/f.read...}

能带点说明么……朕是脚本盲……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
4
发表于 2012-1-27 11:33:38 | 只看该作者
本帖最后由 wbsy8241 于 2012-1-27 11:36 编辑














F1 很简单吗? 那这个怎么不知道

点评

您的图挂掉了……  发表于 2012-1-27 14:33
GJ  发表于 2012-1-27 11:58
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

5
发表于 2012-1-28 00:57:12 | 只看该作者
你看看默认脚本是怎么做档案的不就知道了。
制作档案看save,读取档案看load。
回复 支持 反对

使用道具 举报

Lv2.观梦者

(?????)

梦石
0
星屑
723
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

6
发表于 2012-1-28 05:34:19 | 只看该作者
  1. read = []
  2. f = open("input.txt", "r")
  3. f.each_line do |line|
  4.   line.gsub!(/[\n]/) { "" }
  5.   read.push line
  6. end
复制代码
这样就都存到read这个数组里了。
然后
  1. read[0] # => 第 1(0+1) 行
  2. read[1] # => 第 2(1+1) 行
复制代码
依此类推

该文本文档(input.txt)需使用 UTF-8无BOM编码!

点评

才发现读完忘close了……  发表于 2012-2-20 15:32
能用readlines么?= =  发表于 2012-2-3 16:56

评分

参与人数 1星屑 +40 收起 理由
315038639 + 40 刚发现这贴没有设置悬赏……

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
246 小时
注册时间
2011-12-11
帖子
260
7
发表于 2012-1-28 09:02:24 | 只看该作者
本帖最后由 琪露诺 于 2012-1-28 09:03 编辑

@越前リョーマ  默认存档的Marshal是不行的(经过了序列化,打开文件看不到本身的字样)……建议去F1里面搜索下IO和File= =具体方法同猫君~ @各种压力的猫君
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
145 小时
注册时间
2011-8-3
帖子
68
8
发表于 2012-1-28 19:54:21 | 只看该作者
  1. Dir.mkdir("./temp") unless File.exist?("./temp")
  2. # 在当前目录下建立一个子目录

  3. f = File.open("./temp/temp.txt", "w")
  4. # 在该子目录下新建一个文本文档

  5. f.write text = \
  6. <<EOS
  7. 楼主万岁
  8. 正解万岁
  9. 6R万岁万岁万万岁
  10. EOS
  11. # 写入如上三行数据

  12. f.close
  13. # 保存文档

  14. text =  File.open("./temp/temp.txt", "r").read.split(/\n/).insert(0, nil)[n]
  15. # 读取该文件第n行数据

  16. print File.open("./temp/temp.txt", "r").read.split(/\n/).insert(0, nil)[n]
  17. #显示第n行数据内容
复制代码

点评

哦,忘了- -  发表于 2012-1-29 00:35
就算是读取也要关闭哦亲  发表于 2012-1-28 22:26
 
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
122 小时
注册时间
2009-6-12
帖子
73
9
发表于 2012-2-9 21:46:51 | 只看该作者
F1太简单了,楼主真的懂了吗

点评

没有啊,所以才求教程的啊  发表于 2012-2-11 20:08
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2012-2-14
帖子
9
10
发表于 2012-2-14 09:10:34 | 只看该作者
本帖最后由 花晴兰 于 2012-2-14 09:34 编辑

纯粹省字数,不一定是最简单,LZ表被我误导了

RUBY 代码复制
  1. Dir.mkdir('temp')rescue 1
  2. (open('temp\1.txt','w')<<"楼主万岁
  3. 正解万岁
  4. 6R万岁万岁万万岁").close
  5. print line=open('temp\1.txt').readlines[(n=2)-1]

点评

codegolf.com 同好?:)  发表于 2012-2-14 10:15
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-5 20:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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