什么';ruby中string.split(";,";,-1)和string.split(";,";,-4)之间的区别是什么?
字符串类的什么';ruby中string.split(";,";,-1)和string.split(";,";,-4)之间的区别是什么?,ruby,Ruby,字符串类的split方法状态的 [如果limit为]负值,则返回的字段数量没有限制,并且尾部的空字段不会被抑制 据我所知,以下各项之间没有区别: string="1,,2,3,,,4,,5,,6" string.split(",", -1) string.split(",", -4) string.split(",", -1000000) 它们都返回相同的值:[“1”、“2”、“3”、“4”、“5”、“6”] 只是想知道为什么可以用这种方式分配不同的负极限 另外,如果我确实想删除后面的空值(
split
方法状态的
[如果limit为]负值,则返回的字段数量没有限制,并且尾部的空字段不会被抑制
据我所知,以下各项之间没有区别:
string="1,,2,3,,,4,,5,,6"
string.split(",", -1)
string.split(",", -4)
string.split(",", -1000000)
它们都返回相同的值:[“1”、“2”、“3”、“4”、“5”、“6”]
只是想知道为什么可以用这种方式分配不同的负极限
另外,如果我确实想删除后面的空值(如空格),会发生什么?我知道我可以做
string.strip.split(“,”,-1)
但是有没有一种不用strip
方法的方法呢 Ruby通常有多种方法来做同样的事情,甚至包括语法。只需在代码中约定使用-1
你是在问如何没有限制,但做零场抑制吗?根据文档,您可以省略limit参数。Ruby通常有多种方法来做同样的事情,甚至包括语法。只需在代码中约定使用
-1
你是在问如何没有限制,但做零场抑制吗?根据文档,您可以省略限制参数。通过您的测试和引用的文档,在
string.split(“,”,-1)
和string.split(“,”,-4)
之间似乎没有区别。说明书上说没有差别,你在测试中也没有发现差别。万岁
但是请注意,string.strip.split(..)
不会删除后面的空值:
irb(main):003:0> string="1,,2,3,,,4,,5,,6,,,"
=> "1,,2,3,,,4,,5,,6,,,"
irb(main):004:0> string.split(",", -1)
=> ["1", "", "2", "3", "", "", "4", "", "5", "", "6", "", "", ""]
irb(main):005:0> string.strip.split(",", -1)
=> ["1", "", "2", "3", "", "", "4", "", "5", "", "6", "", "", ""]
您必须选择另一种机制来去除空值。通过测试和引用的文档,在
string.split(“,”,-1)
和string.split(“,”,-4)
之间似乎没有区别。说明书上说没有差别,你在测试中也没有发现差别。万岁
但是请注意,string.strip.split(..)
不会删除后面的空值:
irb(main):003:0> string="1,,2,3,,,4,,5,,6,,,"
=> "1,,2,3,,,4,,5,,6,,,"
irb(main):004:0> string.split(",", -1)
=> ["1", "", "2", "3", "", "", "4", "", "5", "", "6", "", "", ""]
irb(main):005:0> string.strip.split(",", -1)
=> ["1", "", "2", "3", "", "", "4", "", "5", "", "6", "", "", ""]
您必须选择另一种机制来去除空值。谢谢,我把空值和空格搞混了。我现在明白了,干杯汉克斯,我被空和空白弄糊涂了。我现在明白了,干杯汉克斯,我没有想过取消限制。谢谢,我没有想过取消限制。