Project1

标题: 看完某贴想请教一下split的功能和用法 [打印本页]

作者: Wind2010    时间: 2011-1-19 17:52
标题: 看完某贴想请教一下split的功能和用法
之前看了下这个帖子,想问下split到底是干什么用的呢,F1里找不到这个方法……
作者: END66RPG    时间: 2011-1-19 19:08
本帖最后由 END66RPG 于 2011-1-21 10:32 编辑

split是用来分割字符串的...好像可以分割常量...没试过
比如看下面代码
  1. abc="我是好人"
  2. abb=abc.split("")
  3. p abb[0]   #=> 显示"我"
  4. #注意,分割的数组最前面的编号为0
  5. p abb[1]   #=> 显示"是"
  6. p abb[2]   #=> 显示"好"
复制代码
仔细看看吧:推敲出:
公式:print 分割的字符串.split[分割样式] #=>按分割央视显示  print为打印,显示出你要现实的变量等

分割样式,我刚才用了""表示空,就是以每一个字符串分开(有时会碰到编码问题,具体你去搜搜)
还有很多样式,我记不住了,不如你要按a来分开可以:↓
p “WaXaV".split("a")  #=> ["W","X","V"]
写符号记得按大写啊..也就是改为啥角啊..
“WaXaV"是字符串,需要用引号括起来..
懂了?
作者: Wind2010    时间: 2011-1-19 19:18
回复 END66RPG 的帖子

那么那个帖子里面的

  1. name = @name.split(/,/)[1]
复制代码
这个“/,/”又是什么意思?
作者: clap_pl    时间: 2011-1-19 19:41
那个应该是一个正则表达式
/,/表示匹配一个英文逗号
至于@name.split(/,/) 是把变量@name中的字符串 以逗号做分割 分割后 每部分 合起来作为一个数组
打个比方如果@name赋值为"李雷,格林,魏华"
@name.split(/,/) 就把变量@name分成了"李雷" "格林" "魏华"三个字符串构成的数组
@name.split(/,/)实际上就等于["李雷", "格林", "魏华"]这样一个数组
而@name.split(/,/)[1] 就是取这个数组的第2个(因为第一个是[0])也就是"格林"
作者: END66RPG    时间: 2011-1-21 10:57
Wind2010 发表于 2011-1-19 19:18
回复 END66RPG 的帖子

那么那个帖子里面的这个“/,/”又是什么意思?

一个分割样式而已,我目前估计是空格,你去搜"分割样式"吧,很多的。就是按什么规律分开这个字符串,以数组的形式储存。比如1|2|3你按|分割来储存进入a变量中就是
a = "1|2|3".split("|")
a的内容就是:["1","2","3"]
而你想要这个数组的一个放入变量b中↓
b = a[0]  #数组编号是从0开始
你又想把他存入游戏全局变量[1]中,你可以用下面这个方法将字符窜转化为常数.. ,语言不准确
c = eval(a[0])
p c #=> 1   
不加上eval呢。
会显示"1",这与1不同的是,不能存入我们游戏中的变量中,不可以进行运算

讲解完毕
作者: 后知后觉    时间: 2011-1-21 16:58
http://www.diyrpg.net/bbs/viewthread.php?tid=3173




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