Project1

标题: 求解关于split的用法 [打印本页]

作者: ML4455739    时间: 2011-7-21 06:53
标题: 求解关于split的用法
我用这个脚本把1.txt的内容
  1. f = File.open("Data/1.txt")
  2. password=f.readlines[0]
  3. f.close
复制代码
代入到password这个常量里。


但是现在1.txt里的内容改成了这样:
“abc,xyz,123”(有逗号没有引号)
我想把txt中每隔一个逗号的内容分别代入一个常量,
就类似这样的情况 a = ["b","c","d"]
根据网上的split例子我只能写成这样:
  1. password = @password
  2. password1 = @password.split(/,/)[0]
  3. password2 = @password.split(/,/)[1]
  4. password3 = @password.split(/,/)[2]
复制代码
但是貌似不是这么写的,split效果没能实现
望各位帮助解答,感激不尽……
dsu_plus_rewardpost_czw
作者: fux2    时间: 2011-7-21 07:02
  1. f = File.open("password.txt","r")
  2.   password=f.readlines[0]
  3. f.close
  4. password.split(/,/).each{|i| p i}
复制代码
何处有问题?
作者: ML4455739    时间: 2011-7-21 07:17
本帖最后由 ML4455739 于 2011-7-21 07:18 编辑

呃,这个……可简单一些么..
怎么分别代入常量……
作者: Kimu    时间: 2011-7-21 09:06
  1. s1 = "1/2/3/4/5"
  2. a = s1.split("/")      #此时的数组是字符串数组
  3. p a[0].to_i        #转成整型输出
复制代码

作者: 灵魂の补给    时间: 2011-7-21 09:16
【疑问1】
为什么abc,xyz,123
可以分割为a = ["b","c","d"]这个情况?
【疑问2】
代码中的@password哪里来?
  1. password = @password
  2. password1 = @password.split(/,/)[0]
  3. password2 = @password.split(/,/)[1]
  4. password3 = @password.split(/,/)[2]
复制代码
--------------
【改法】
  1. f = File.open("Data/1.txt")
  2. password=f.read
  3. f.close
  4. #password已经定义,而@password=nil
  5. #未定义,直接分割即可
  6. #每次都分割下?效率不高,修改为:
  7. a = password.split(/,/)
  8. password1 = a[0]
  9. password2 = a[1]
  10. password3 = a[2]
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1