三者功能相同,如下:
性能比较:
由此可见,最耗时间的方法为:+=
原因:
<<和concat操作都是在原字符串后追加新字符串;
+=操作先获取元字符串的拷贝,然后在字符串拷贝后面追加新字符串,浪费内存又浪费时间。
str = 'a'
str << 'b'
p str #=> "ab"
str = 'a'
str.concat('b')
p str #=> "ab"
str = 'a'
str += 'b'
p str #=> "ab"
性能比较:
test_str = ''
100000.times {test_str << 'hello' }
#0.063秒
test_str = ''
100000.times {test_str concat('hello') }
#0.078秒
test_str = ''
100000.times {test_str += 'hello' }
#31.498秒
由此可见,最耗时间的方法为:+=
原因:
<<和concat操作都是在原字符串后追加新字符串;
+=操作先获取元字符串的拷贝,然后在字符串拷贝后面追加新字符串,浪费内存又浪费时间。