查看: 1799|回复: 3

self[start, length]=val与insert的区别?

  [复制链接]
梦石
0
星屑
50
在线时间
4 小时
注册时间
2007-8-30
回帖
84
发表于 2008-4-3 03:50:43 | 显示全部楼层 |阅读模式

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

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

×
学习f1帮助
数组的两个方法self[start, length]=val与insert(nth, [val[, val2 ...]]) 有什么区别呢?
似乎除了self返回val,而insert返回数组两者就一样了,那为什么还要用两个方法?
请教两者的特点
^^

御灵的宠物

梦石
12
星屑
8481
在线时间
94 小时
注册时间
2006-12-11
回帖
3101

第2届TG大赛亚军

发表于 2008-4-3 03:54:27 | 显示全部楼层
恩……不清楚- -+ <----从来不研究这些的没有进取心的人
话说可能只是就是有两个方法嘛……就好比JAVA里定义数组也可以用 ing x[]或者int[] x……
照顾不同人的写法?
我的Lofter:http://nightoye.lofter.com/

回复

使用道具 举报

SB們大家好<

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-1-7
回帖
439
发表于 2008-4-3 04:15:39 | 显示全部楼层
后者的定义:

class Array
  def insert( n, *vals )
    self[n, 0] = vals
    return self
  end
end
这不是6R,我对自己说。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
4 小时
注册时间
2007-8-30
回帖
84
 楼主| 发表于 2008-4-3 04:46:44 | 显示全部楼层
看到了,所以才说“除了self返回val,而insert返回数组两者就一样了,那为什么还要用两个方法?”了啊!
insert多一个步骤计算速度会慢一点吧……
而且看到那个定义觉得self[start, length]=val写起来更直接一点,就忽视了。

难道真的是为了“照顾不同人的写法?”orz
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部