向字符串末尾追加字符时, 使用 String#concat 或 << 运算符(String#<<)
s = 'abc'
s.concat('def')
p s #=> "abcdef"
s = 'abc'
s << 'def'
p s #=> "abcdef"
<< 运算符还可以有以下的写法
s = ''
s << 'abc' << 'def'
p s #=> "abcdef"
当然,如果使用 += 运算符也会达到以上的相同效果,
但是 ruby 中并不建意使用此方 法。
为什么呢? 让我们来看看内存是如何工作的,就会明白了。
+= 方法 |
concat 方法 |
XXX| |
XXX| |
XXX| XXX|XXX| |
XXX|XXX| |
XXX| XXX|XXX| XXX|XXX|XXX| |
XXX|XXX|XXX| |
+= 方法是先复制原字符串后,在复本字符串尾部追加。 这种方法会吃掉大量的内存。
而 concat 方法是直接在原字符串尾部追加。
我们在来测试一下两种方法的速度
# 约 30 秒
box = ''
50000.times{ box += 'xxx|' }
# 约 0.05 秒
box = ''
50000.times{ box.concat('xxx|') }
分享到:
相关推荐
Oracle新版中不支持 WM_CONCAT的处理方法,直接创建一个自定义函数代替
owmaggrb.plb,owmaggrs.plb,owmctab.plb 1、下载三个文件:owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 2、用sqlplus登录:sqlplus sys/123 as sysdba 3、执行@C:\Users\JOYTRAVEL\Desktop\WMSYS用户\owmaggrb....
这篇文章主要介绍了JS合并两个数组的3种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...这里有一个问题,concat方法连接a、b两个数组后,a、b两个数组的数据不变,同时会返
本文实例讲述了JavaScript使用concat连接数组的方法。分享给大家供大家参考。具体如下: 下面的代码演示了JS中如何通过concat函数链接多个数组 <!DOCTYPE html> <html> <body> [removed] var ...
是处理wm_concat中以varchar处理合并列字段过小。 clob 可以加大处理。 oracle 9I oracle 10G 必备
1.concat方法的基础介绍 2.从实例中感受concat方法 1.concat方法的基础介绍 concat方法用于多个数组的合并。它将新数组的成员,添加到原数组的尾部,然后返回一个新数组,原数组不变。 console.log([].concat([1],...
1. 做的是对应通道对应位置的值的相加,通道数不变 2. 描述图像的特征个数不变,但是每个特征下的信息却增加了 1. 做的是通道的合并,通道数变多了 2. 描述
没有WMSYS.WM_CONCAT方法 需要的文件 owmctab.plb owmaggrs.plb owmaggrb.plb 拷贝三个文件到 $ORACLE_HOME\RDBMS\ADMIN\ 目录下 打开命令行 sqlpus , 用sys 登陆 执行命令 @$ORACLE_HOME\RDBMS\ADMIN\owmctab.plb...
本文实例讲述了JS数组方法concat()用法。分享给大家供大家参考,具体如下: 数组方法concat() concat()可以基于当前数组中的所有项创建一个新数组。即这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这...
oracle 12c 兼容 11g 的 wm_concat 方法。 oracle 12c wm_concat。 owmaggrb.plb,owmaggrs.plb,owmctab.plb 1、下载三个文件:owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 2、用sqlplus登录:sqlplus sys/123 as...
1.concat方法的基础介绍 2.从实例中感受concat方法 1.concat方法的基础介绍 concat方法用于多个数组的合并。它将新数组的成员,添加到原数组的尾部,然后返回一个新数组,原数组不变。 console.log([].concat...
//查询表managefee_managefee的年year 和 month ,用concat函数拼成year-month。例如将2017和1 拼成2017-01。. select CONCAT(a.year,'-',if(a.month<=9,CONCAT('0',a.month),a.month))as date,a.* from managefee...
因此需单独重建此函数,方法如下: 解压附件,在sqlplus中执行包里的owmctab.plb、owmaggrs.plb、owmaggrb.plb三个脚本即可, sqlplus / as sysdba SQL>@owmctab.plb; SQL>@owmaggrs.plb; SQL>@owmaggrb.plb;
concat()函数的具体用法 pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, copy=True) 参数含义 objs:Series,...
这篇文章主要介绍了JavaScript的concat方法实例代码,包括数组连与字符连接,需要的朋友可以参考下
本文实例讲述了mysql中GROUP_CONCAT的使用方法。分享给大家供大家参考,具体如下: 现在有三个表,结构如下: cate表: CREATE TABLE `cate` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `...
主要介绍了微信小程序 数组中的push与concat的区别的相关资料,需要的朋友可以参考下
主要介绍了Lua table的concat方法使用实例,本文讲解了concat方法的用法及使用实例,需要的朋友可以参考下
二维数组降维 使用数组实例方法concat和ES6扩展运算符降维 let arr=[1,2,[3,4],5]; let arr1=[].concat(...arr); //先使用扩展运算符打散最外边的数组,concat自带打散粘合数组的功能 console.log(arr1); //...