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 就可以了
以后还是尽量躲开它