00:00
大家好。欢迎大家继续收看上硅谷的云算课程,我是沈乔老师。这节课呢,我们继续来学习12基础内容啊,这节课我们看一个看起来比较麻烦的东西,一看就比较复杂,叫做变量的测试与内容置换,这个啊,我们先盯着一个看,如果每个都看就死里面了。这个首先我们说。它有这样一个变量,测试的这样一个公式。在这。X等于到了这个大括号Y杠心值,这个不是减号,是杠啊,是个杠。那这个东西是干嘛,他的是这样的。如果你用这样的格式来进行运算,那么如果Y没有设置,哎,这个Y变量不存在,从来没有设置,那么X的值就会等于心值,也就是说这块值是什么,X的值就是什么。那如果变变量Y存在,但是它的值为空,哎,为空啊,空,这个时候X的值也是空。
01:02
那如果变量存在,且变量有值,比如说变量是123,那么X的值就是变量Y的值。哎,这是个什么东西啊?到底为什么要有这么个玩意儿?我们举个例子。各位我们前面说过啊,比如说我这里啊,也是我从来没有设置S命令,查一下我没有设过变量Y对吧。没有吧,那这个时候IO到。它显示是空,什么都没有对吧,但是呢,我说过,如果我设一个变量YY等于空,那么我们A口到了Y,它依然也是空,那也就是说。变量外不存在和变量外的值为空,它的结果其实都是一样的,这个时候有时候会搞混各位,变量不存在和变量值为空是两个绝对不一样的概念啊,在编程中主要抠的就是这样的东西,对吧?抠字眼,那我们说啊,前面我们在讲塞命令的时候,我们是不是说过set命令加一个杠U,它的作用就是如果这个变量不存在,比如说IQ。
02:06
到了XX现在为设它会报错,变量值不存在对吧?那如果是变量为空呢?那这个时候IQ到Y它才会显示空,通过set-U可以让人能分清楚这个变量是不存在的,还是这个变量是空的,对吧?但是啊,各位。人看这个骑士容易看出来。哎,我能看出来,有急事我就能看到,但是我如何让程序来判断。这个变量是不存在呢,还是为空呢?还是里面有值?各位我们再说啊,我们还是这句话,人肉眼能看出来,不代表程序能识别出来,当然程序可以通过检测这个值来实现,但是系统觉得这个东西有可能会经常用,所以他帮我们准备了这样一个测试的这样一个工作,啥意思?
03:00
我我没有办法判这个判断变量Y是为设还是变量为Y为空,对吧,那我通过这样一个格式干嘛,我通过给执行这样一个公式,然后呢,看你X的值是什么。如果X的值是新值,那么证明Y就是不存在的。如果X是空,那么证明Y是空,那如果X里面是一个我没见过的值,那就是证明这就是Y的值,这是Y里面有值,能听懂吗?各位,其实目的是为了干嘛,其实我说啊,这个测试啊,它的主要的目的其实是做变量测试。变量测试测谁呀?测的是外有值还是没值,是空还是从心没射,他测的是这个,但是直接检测Y,我们说就算有S-U,这样来做写程序也并不方便,所以系统给我们写了这样一个测试值,可以干嘛?可以通过X的值是什么?
04:02
从而判断Y到底是空的还是没设置,还是Y是有知的,还是这样一个间接的方式来测试Y的明白了,所以啊,出现了这样一个复杂的格式,但是我说他弄的太复杂了。就你看,除了有减号可以测,还可以有加号,还可以有冒号等号测,等号测,甚至还可以有问号冒号问号测,我说其实这个东西啊,还是看你个人是不是习惯,或者你能不能想起来,如果我们只是测一个的话,我建议我们说背一个就够。其他的东西如果碰到,我们查一下,知道这是什么就行了,OK,这个还真是不一定会常用,因为编程是这样的,就是我习惯我就用,我不习惯我可以不用了,我实现同样的功能,比如说我就想判断一下Y的值有没有存在,我完全可以设设计个SU,然后输出这个值,检测它有没有报错。有报错就证明这个变量不存在,没设置没有报错是空就证明这个变量值为空,只不过是需要我自己来写,那肯定啊,自己写这样一个脚本肯定没有这个干嘛方便对吧,我只要检测X的值,我就能判断Y是空还是没设对吧,但所以说。
05:17
程序其实是可以自己按照自己的思路来写的,所以呢,我们说这是其中的一种思路,你用也行,其实我们没有严格要求啊各位。如果是其他语言,这其实就类似于是一个函数,如果他提供了这样的东西,我们一般间接都必须要用,原因它这样自带的这个东西,它的效率会更高,远比你自己写那个程序干嘛效率高,它能支持的访问人数多,但是我们一直在说事干嘛呢?Share就不会有大量的人员访问,它就是给用户自己用的,所以不需要考虑,我说我不需要考虑效率,所以我说share是最简单的,换句话说,这个你习惯你就用,实在不习惯自己写也行,只要能实现功能好了。说了这么多,我们来看看他的值啊,那我试试。
06:06
那我现在给Y已经设置了,所以我不要拿Y来做测试了,那我测试谁测试ZX等于到了大括号对吧,然后呢,我们这里啊,刚刚说测的是Y,那我现在说我Y已经有了,那我测Z好吧,我测的Z这个值,那就是Z杠新值,新值我就写六随便就这样就行,然后呢,回撤,那我们都知道。Z这个变量我们是从来没有设过,对吧?那按照这个东西来说,如果Z这个变量不存在,那么X的Y就应该是新值,那我们试试啊,那我们看看I到X它的值就是这个值六看到了。看到了。那如果Z存在了,看Z等于空,对吧?我还是这个测试错吧,我再输出艾克到XX的值就变成空了。看,也就是说,如果这个变量存在,变量存在,但是值为空,那么X就为空。
07:05
看明白了。那如果Y有这个Y有值呢?也就是说如果Z有值了,哎,我只不过是把这里是Y换成Z了,因为Y我们前面设了一下,所以我们看不了对吧?那我们给它设个值,Z是123对吧?那我们再执行一下这个电量测试,测试完A到X,看它的值X值是123。因为X值是123,那么或者说X的值不在这个里面,它既不是空,也不是谬,那就证明X有一个不存在的值,那就证明Z是有值的,Z的值是。123,也就是说X的值是到了Y的值。是这个Y里面的值,也就是Z里面的值啊,Z如果有值X的值就是Z的值,看明白了吗?OK,这就是它的三种变化,哎,也就是说如果Z没有值X值等于你后面写的这个新值,写什么都行,随便写。
08:01
那么如果Z为空,那么X也为空,那如果Z设了值,那么X值就变成这个Z变量里的值,Z是123 X就是123。看懂了,那这样做的根本目的是为了干嘛?就是为了通过检测X的值来判断这个Y有没有什么值,它的值是有的还是没有的,从来没设过它是这种目的。行了,这个我觉得你就背这一个就够了,后面的几乎和它类似,和它类似,当然我们在文文章上,文档上我们写的会更详细一点,其实我还举了其他的几个例子,首先我举了这样一个例子,对吧,其他的我后边又举了几个例子,其他的例子,其实我说这个东西有兴趣你就看看,实在没兴趣我说兴趣你就知道它的功能是干嘛的就行,它的功能是干嘛的,通过检测X的值。从而判断Y的值的这样一个功能,然后呢,如果仅仅只是这样的功能,那我说记一个功能就行了,OK,好了,这个啊说说白了,归根结底其实用的还是不多,所以我举一个例子解释一下就可以了,其他的内容呢,如果你愿意,可以按照我的表格自己来测,当然文档,文档上还是有更多的例子,好了,那这节课的内容就是这样,我们下节课再见。
我来说两句