查看: 1810|回复: 2

[已经解决] 求教 File.open 的正确用法

[复制链接]
梦石
0
星屑
136
在线时间
1050 小时
注册时间
2006-5-3
回帖
602
发表于 2013-9-10 18:07:14 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 gaofei677 于 2013-9-10 18:19 编辑

  我用
  1. File.open('Font_setting.txt', 'w') {|file| Marshal.dump('Font_setting = 2', file) }
复制代码
创建了一个名叫"Font_setting.txt" 但是我打开,里面的内容居然是
QQ截图20130910180242.png (有几个符号不知道为什么显示不出来,我用了截图)
我想请问要怎么样才能生成一个比较正常的文本?
内容只有
  1. Font_setting = 2
复制代码
而且,我用 这个方法尝试读取"Font_setting.txt"内容的时候
  1.    filename = "Font_setting.txt"
  2.     if FileTest.exist?(filename)
  3.       file = File.open(filename, "r")
  4.       text=file.readlines
  5.       if text[0].include?('Font_setting = 1')
  6.         self.change_font_1
  7.       end
  8.       if text[0].include?('Font_setting = 2')
  9.         self.change_font_2
  10.       end
  11.      file.close
  12.   end
复制代码
程序在文本里面找不到'Font_setting = 2',我不知道我哪里写错了,求大家指点一下

好吧,我无耻一次 @弗雷德 @Sion @protosssonny  
漏夏同人
《咱的夏天》
下载地址:http://tieba.baidu.com/p/2681607456
人员招募:http://rpg.blue/thread-339747-1-1.html
梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
回帖
2257

贵宾

发表于 2013-9-10 18:37:45 | 显示全部楼层
写入文本用
  1. $t = File.open('xxx.txt', 'wb')
  2. $t.puts "hello world"
  3. $t.flush
复制代码
读取用
  1. $t = File.open('xxx.txt', 'rb')
复制代码
怎么获取字符串我就不知道了
一般存取数据直接用 Marshal 就行了,DataManager 里有参考的写法。

评分

参与人数 1星屑 +84 收起 理由
弗雷德 + 84 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
660
在线时间
1286 小时
注册时间
2011-6-14
回帖
3949
发表于 2013-9-10 18:42:58 | 显示全部楼层
不用Marshal。
  1. somefile.write("Hello") # somefile.print("Hello") is also ok
复制代码

评分

参与人数 1星屑 +84 收起 理由
弗雷德 + 84 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部