变量

Shell数组追加元素的技巧

你。 提交于 2020-03-08 06:53:37
在shell中,数组是没有追加函数去实现给数组添加新元素的,我们可以利用数组的长度来添加新元素。 一、举个例子: 1.定义一个空数组变量a a=() 2.现在数组变量a的值是空的,添加一个新元素b 方法:数组变量[数组变量长度]=需要添加的元素 数组变量长度= ${#变量名[*]} a[${#a[*]}] =b #添加完毕 3.查看数组变量的值: echo ${a[*]} #输出b 二、应用在脚本的实例: 条件: 1.定义一个变量str=x_y_z 2.将变量str的值中的x,y,z添加到空数组变量arr中 代码如下: #!/bin/bash ## 定义变量 str = "x_y_z" ## 定义空数组 arr = ( ) ## 将str变量拆开分别添加到数组变量arr line = ( $( echo $ { str } | sed 's/_/ /g' ) ) for i in ${line[*]} do arr [ ${#arr[*]} ] = ${i} done echo 数组变量arr的值为: " ${arr[*]} " 脚本输出结果为: 数组变量arr的值为:x y z 来源: CSDN 作者: 绮梦寒宵 链接: https://blog.csdn.net/weixin_44901564/article/details/104552834

c#中通过值和引用传递参数(downmoon)

自古美人都是妖i 提交于 2020-03-08 06:18:53
c#中通过值和引用传递参数(downmoon) 在 C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员(方法、属性、索引器、运算符和构造函数)更改参数的值,并保持该更改。若要通过引用传递参数,请使用 ref 或 out 关键字。为简单起见,本主题的示例中只使用了 ref 关键字。有关 ref 和 out 之间的差异的信息,请参见、 使用 ref 和 out 传递数组 。 本主题包括下列章节: 传递值类型参数 传递引用类型参数 它还包括以下示例: 示例 演示 是否使用 ref 或 out 1 通过值传递值类型 否 2 通过引用传递值类型 是 3 交换值类型(两个整数) 是 4 通过值传递引用类型 否 5 通过引用传递引用类型 是 6 交换引用类型(两个字符串) 是 传递值类型参数 值类型 变量直接包含其数据,这与 引用类型 变量不同,后者包含对其数据的引用。因此,向方法传递值类型变量意味着向方法传递变量的一个副本。方法内发生的对参数的更改对该变量中存储的原始数据无任何影响。如果希望所调用的方法更改参数值,必须使用 ref 或 out 关键字通过引用传递该参数。为了简单起见,以下示例使用 ref 。 示例 1:通过值传递值类型 下面的示例演示通过值传递值类型参数。通过值将变量 myInt 传递给方法 SquareIt

ES6新特性1:let和const

痴心易碎 提交于 2020-03-08 05:29:40
本文摘自 ECMAScript6入门 ,转载请注明出处。 一、 let   1. ES6增了 let 命令,用来声明变量。它的用法类似于 var ,但是所声明的变量,只在 let 命令所在的代码块内有效。 { let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1      2. let 不像 var 那样会发生“变量提升”现象。所以,变量一定要在声明后使用,否则报错。 console.log(foo); // 输出undefined console.log(bar); // 报错ReferenceError var foo = 2; let bar = 2;   3. 暂时性死区:只要块级作用域内存在存在 let 和 const 命令,它所声明的变量就“绑定”在这个区域,形成封闭作用域,不再受外部的影响。凡是在声明之前就使用这些变量,就会报错。 var tmp = 123; if (true) { tmp = 'abc'; // 报错ReferenceError let tmp; }   4. let不允许在相同作用域内,重复声明同一个变量。因此,也不能在函数内部重新声明参数。 //用let声明以后,再用var或let声明都报错 function () { let a = 10; var a =

win10配置java环境变量,解决javac不是内部或外部命令等问题

拥有回忆 提交于 2020-03-08 05:12:58
###昨天重装了win10系统,发现以前配好的java环境变量和tomcat环境变量全都清空了,在重新配置的时候总是出现问题,即在cmd命令窗口下,输入java,显示正常,输入java -version 也是显示正常,唯独输入javac,显示“javac不是内部或外部命令,布拉布拉一些的问题”,然后我就开始各种百度各种谷歌,终于在大半夜把这个问题搞定了。。。 来看看我的 新博客 下面来说说这个问题的解决办法,其实很简单: 1,首先进入环境变量页面 2,在系统变量下面配置 JAVA_HOME:你自己的jdk的路径 CLASSPATH= .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 注意前面有一个.千万不要忘了。 第三步,也是最重要的一步,配置Path变量,这里win10和其他的不同就出来了,win的path变量,要用jdk的绝对路径,而不能用%JAVA_HOME%这一类的,计算机识别不了。 path= C:\ProgramFiles\Java\jdk1.7.0_67\bin;C:\Program Files\Java\jdk1.7.0_67\bin\jre\bin; 在path环境变量的最前端加上你自己的jdk的这两个目录就好了。一定要是绝对路径! ###这样你在测试一下肯定就没有问题了,还有修改完环境变量,再次测试的时候

Objective-c快速入门

风流意气都作罢 提交于 2020-03-08 04:21:51
对象(Class)的声明和定义 和其他的语言不同,OC的对象创建分为两个部分。声明部分(@interface)和实现部分(@implementation),且它们都必须使用@end结束。 对象的声明(OC中基本上所有的对象都继承自NSObject): @interface Car : NSObject { int _wheels; NSString *_color; } - (void)run; + (void)playMusic; @end 对象的实现: @implementation Car -(void)run { NSLog(@"The %@ car that has %d wheels is running...", _color, _wheels); } + (void)playMusic { NSLog(@"music palying..."); } @end @interface代码块的作用: 成员变量的声明和方法的声明。成员变量必须在花括号中声明。而方法则在花括号和@end之间声明 默认情况下成员变量的可访问性为protected。 @implementation代码块的作用: 用于方法的定义(实现)。以减号开头的方法属于实例方法,以加号开头的方法属于类方法。 @implementation部分同样可以声明成员变量,但是由于在多文件编译中.m文件不能被import

每日刷题总结

橙三吉。 提交于 2020-03-08 03:57:49
1.根据以下代码段,下列说法中正确的是(C) public class Parent { private void m1 ( ) { } void m2 ( ) { } protected void m3 ( ) { } public static void m4 ( ) { } } A.子类中一定能够继承和覆盖Parent类的m1方法 B.子类中一定能够继承和覆盖Parent类的m2方法 C.子类中一定能够继承和覆盖Parent类的m3方法 D.子类中一定能够继承和覆盖Parent类的m4方法 解析: 通过继承,子类可以拥有所有父类对其可见的方法和域 A.私有方法只能在本类中可见,故不能继承,A错误 B.缺省访问修饰符只在本包中可见,在外包中不可见,B错误 C.保护修饰符凡是继承自该类的子类都能访问,当然可被继承覆盖;C正确 D.static修饰的成员属于类成员,父类字段或方法只能被子类同名字段或方法遮蔽,不能被继承覆盖,D错误 子父类可能不在同一个包中 2.given the following code,what will be the output?(A) class Value { public int i = 15 ; } public class Test { public static void main ( String argv [ ] ) { Test t =

awk内建变量

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-08 03:50:20
说到了内建变量,我们可以来看看awk的一些内建变量: $0 当前记录(这个变量中存放着整个行的内容) $1~$n 当前记录的第n个字段,字段间由FS分隔 FS 输入字段分隔符 默认是空格或Tab NF 当前记录中的字段个数,就是有多少列 NR 已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中。 FNR 当前记录数,与NR不同的是,这个值会是各个文件自己的行号 RS 输入的记录分隔符, 默认为换行符 OFS 输出字段分隔符, 默认也是空格 ORS 输出的记录分隔符,默认为换行符 FILENAME 当前输入文件的名字 来源: < http://coolshell.cn/articles/9070.html > 来自为知笔记(Wiz) 来源: https://www.cnblogs.com/iathena/p/3ec00b93ae9129ec1acab013f1280268.html

JS ES6补充

吃可爱长大的小学妹 提交于 2020-03-08 03:26:55
补充点:1、let const   2、字符串模板   3、箭头函数   4、对象的单体模式  5、面向对象 一、定义变量 A、var 特点: 1、定义全局变量 2、可以重复定义 3、变量名提升 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>声明变量</title> </head> <body> <script> { var a =66; console.log('in'+ a); } // 在块级作用域的变量,可以在全局中使用 // 1.var 定义的是全局变量 console.log('out'+ a); // 2.var可以重新定义变量 var a = 88; console.log('new'+a); // 3.变量名提升 // 过程 var b -> 提升, 打印 b, b没有赋值,结果:undefined console.log(b); //undefined var b = 10; </script> </body> </html

《算法笔记》学习之C++基础知识回顾

烂漫一生 提交于 2020-03-08 02:04:10
C++基础知识回顾 一、基本数据类型 二、顺序结构 三、选择结构 一、基本数据类型 int型占用4字节,如果对范围不太有把握,可以记住 绝对值在 1 0 9 10^9 1 0 9 范围以内的整数都可以定义成int型 长整型long long占用八字节,如果题目要求的整数范围超过2147483647(例如 1 0 10 10^{10} 1 0 1 0 或者 1 0 18 10^{18} 1 0 1 8 ),就得用long long型来存储;且 值得注意的是 ,如果long long 型赋大于 2 31 − 1 2^{31}-1 2 3 1 − 1 的初值,则需要在初值后面加上LL,否则会编译错误 简单来说,需要记住的就是,看到题目要求 1 0 9 10^9 1 0 9 以内或者说32位整数,就用int型来存放;如果是 1 0 18 10^{18} 1 0 1 8 以内(例如 1 0 10 10^{10} 1 0 1 0 )或者说64位整数,就要用long long型来存放 单精度浮点型float占用4字节,其有效精度只有6~7位;双精度浮点型double占用8字节,其有效精度有15-16位。其中%f是float和double型的输出格式。所以,对于浮点型,我们需要 记住 的是, 不要使用float,碰到浮点型的数据都应该用double来存储 0~9、A-Z、a

JavaScript随笔(1)

筅森魡賤 提交于 2020-03-08 00:07:17
延迟脚本 HTML4.01为<script>标签定义了defer属性。//脚本会被延迟到整个页面都解析完毕了再运行 例:<script type="text/javascript" defer="defer" scr="test1.js"><script> *延迟脚本不一定按照顺序执行,因此最好只包含一个延迟脚本 defer属性只适用于外部脚本文件。 严格模式 "user strict" 变量 虽然省略了var操作符可以定义全局变量,但这也不是我们推荐的做法。因为在局部函数中定义全局变量很难维护,而且如果有意的忽略了var操作符,也会由于相应变量不会马上就有定义而导致不必要的混乱 类型 ECMAScript中有5种简单数据类型(也称之为基本数据类型):Undefined、Null、Boolean、Number和String以及一种复杂数据类型Object typeof操作符 用于检测给定变量的数据类型 typeof(message)或者typeof message *圆括号不是必须的 Undefined 在使用var声明变量但未对其加以初始化时,这个变量的值就是Undefined Null 如果定义的变量准备将来用于保存对象,那么最好将该变量初始化为null而不是其他值(因为null 的typeof 值为Object) *alert(null==undefined); //true