Ruby and Rails 当时

本文通过具体的Ruby代码示例,详细解析了Ruby中数组切片的两种不同方式:使用闭区间[m..n]和半开区间[m...n]。探讨了这两种方式在包含元素范围上的区别,并提出了改进的想法。
 

1, String, 用起来很像字符数组

2, 关于[m..n]和[m...n]

class TestRuby < Test::Unit::TestCase

Atog = ['a','b','c','d','e','f','g']

def test_sub_array

    assert Atog[2,4].length == 4

end

def test_sub_array_close

    assert Atog[2..4].length == 3

end

def test_sub_array_open

    assert Atog[2...4].length == 2

end

end

Ruby语言也有阻碍生产力的地方啊,虽然很小;

1, 你能记住[m..n]和[m...n]哪个包括n,哪个不包括n吗?

2, 你能确保编码的时候不会手抖,眼花,弄错小数点吗?

当然,本身数组区间用的地方不多,或者你有单元测试保驾护航,基本上没什么影响

但总觉得可以提供更明显的方法

1, 比如和数学标记一致的方法[m..n),  [m..n], (m..n]等; ]和)的区别其实也不算明显

2, 干脆只支持其中一种, 想表达另外一种意思,只需传参数n的时候加或者减 1 就可以了

 

以后还是尽量躲开它

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值