00:00
一些说法了啊,就大家一听就明白的,比如看这里匹配数组。在我们这一个呃,Match里面呢,我们可以轻松的来匹配这个速度,而且可以实现非常非常有些案例我们就可以可以可以很轻松的实现了,你比如说R0表示匹配只有一个元素,切为零的元素啊,如果我这个类型写的是XY,看到没有,他把刚才这个类型和这个,他把这个类型匹配和这个什么呢?和这个呃值的匹配合在一起了,显得特别的强大。如果是XY呢?匹配数组有两个元素,而且看到每个动作,它一不但匹配类型,而且它可以把你匹配这个数组交给XY,那如果说我想交换数组两个值的话,我直接把XY换一个值,换一个,换一个方向,那怎么就变化了?好,当然也可以依次XYZ3个,如果我们想匹配一个数组是以零开头的,后面任意的话呢,就是这样写法。
01:00
啊,我这个就是知道这个说出来就知道了,没有什么理解的东西,那么现在呢,我直接给他送代码,这个代码我已经准备好了啊。代码写一遍也没有什么意义,我就直接给他跑一下,因为这个没有什么业务逻,没有逻辑在里面,很简单。不像刚才我们讲的一个迈普映射,还要有个逻辑想法哈,我就直接写个match匹配数组。好,各位同学,那现在呢,我把这段代码给同学们放到这里,就是匹配数组的案例,非常的简单。好,我把这个地方做一个简单的说明。啊,做一个简单说明,看一下这里,同学们看这里我有一个for循环。我有一个for循环,我for循环做了一个增强,当然你如果觉得这个很麻烦,你也可以把它提出来,说老师我不喜欢看这个乱七八糟的,可以你把它拎到外面去也行,比如说你这样写也是可以的啊,叫VR are等于这个也可以啊,也可以这样写也可以,然后把这个ain呢放这啊,啊一样的啊一样的,就说你说哎,说老师我不想一大坨写到这。
02:08
啊,你也可以先把它搁在外边去,然后再再再这样实际上看起来效果是一样的啊,那我们看一下这个输出。那么怎么个意思呢?我这里有个数组,这个数组里面有好多好多其他的数组,我想干件什么事呢?我想做这样一件事情,如果我发现你这个数组。是,呃,以零开头的,我就返回一个零。如果我发现你的速度是这样子的,XY。我就输出这样一句话,如果我发现以零打头的开头的呢,我就这样匹配,最后什么都不是,就写这个案例,好,我直接运行啊,同学们看。我们把这个执行一下,待会我要出一个题,让让你们想想怎么完成啊,同学们注意听。那现在呢,老师要做一一个这个动作了啊,我现在要做这样的事情干什么呢。就是我们来看看他分别输出什么,我第一个元素是零,应该匹配到它,所以说第一个输出是result。
03:08
大家看一下result等于几啊,就是等于零怎么算?写完了第二个。Result啊,同学们看到这是一零,那么一零呢,是两个元素刚好匹配到它,所以这边呢,就会输出一个一加啊没有没有没有那个加一等于零写完了。好,第三个是零卡头的后面有两个元素,看是哪个能匹配,大家说是哪个呀,是不是这个能匹配上,因为你零只有一个,那就没有吗?啊这个呢是以零打头,后面任意,所以这边呢,就会返回一个这样的字,就是result。等于这个好,第四一个题,第四一个题呢,是二位一,这个能匹配谁呀。一个都匹配不到。你这个匹配不到吧,这个匹配不到这个也不行啊,因为你第一个是你,你看这个其实就已经达到了一个过滤的效果。
04:09
它又把过滤和患者全部融在在一起了,那这样子的话,Result就等于多少呢?Result就应该等于什么集合都不是,最后一个result等于什么呢?好最后一个result的,它这个呢也是什么都匹配不到,好代码写完了,好同学们我们运行一下看结果。看结果好,同学们可以看到我们现在返回的结果跟我们老师分析的完全一样,写完了,那么我现在呢,用这个特性,我们来做一个应用,看看大家能不能写出来,注意听。现在呢,我有这么一段代码,请你们想想怎么写。给你一个数组,给你一个数组,这个数组是这样写的,二位。十。还有一个20。
05:00
十有20请请使用这个模式匹配模式匹配返回这样的一个速度。交换位置好写吗?太好写了。是不是这样就突然感觉到很轻松了,如果我以前让你把那个变,把数组的两个变量交换一下,你估计不是那么简单吧,至少写得写几句话吧,现在一句话搞定啊,一句话搞定怎么搞定呢?同学们可以看到我们直接这样写就完事了,哎,这样写就完事了,怎么写呢?就是如果用这个,因为我将来不知道你你将来你有什么,比如说我给你一个数组集合。啊,这样写啊这样写,如果有个数组集合啊呃,对于有两个元素的就交换位置并返回,我把我把题要求改一下啊,有个数组集合,就是说这个数里面有很多如果。如果该如果该数组,如果该该数组是这样的形式就返回,呃,这个交换的类型好,现在我还针对这个代码来写一段代码,我还用它。
06:09
但是呢,我要给同学们改变一下了,请看代码我怎么写,为了跟前面不打架,我写个二。我写个二好,这有一个一二好,我其实这边只有一个啊,然后这边还是进行一个便利R2。好,我现在要开始改改了,大家看看我能不写出来啊,怎么写呢?Very的easy,如果我发现它是这个,是不是我这样返回就可以了。All right。XY。完事啊完事,而且一下就你这人不要的,我就H的一下全部给你过滤,我只要有两个,而且你交换,你看这个多厉害,说老师你你要这个东西要自己写,我给你写死你啊,你要你要没有用这个东西写死你在那。没准有些同学还写不出来,也得判断大小是多少,一个一个判断判断,眼睛都花了,人家一个模式匹配全部搞定啊,那么我们玩一把啊,那么我来一个呢就匹配,那么我现在其实说白了,我要把这些过滤,我连这个都不返回,我直接。
07:15
是不是我就说不处理就完了,能能理解这意思吗?不处理。我又不处理你对吧,你那些东西我不处理,我就只处理这一个情况,那来一个打一个,来一个打一个,没没问题吧,没问题,那大家看到我们这边输这个re绕的类型呢,诶re绕类型呢,绕的类型注意它是个序列化的啊,这地方我们还得想办法处理一下re,诶这个循环我在哪里输出比较好。啊在这呃,Result这个类型,它返回的虽然是它,我们还要想办法把它转一下才可以啊,才能输出这个东西,好result我看这样直接输出能不能看到啊result。等于加啊,被热等于加,好,我们来看看这个结果能不能马上看到啊,上面这个代码我先暂时的注销一下。
08:09
哎,不要让它影响我们的代码,好同学们,我们执行一把,诶,我们执行一把看效果。好,我们看到这个效果呢,诶这么其实你看不处理的14个只有这一个,这一个呢,我们把它处理一下就行了啊,就说我们发现它是一个数组的话呢,我们可以这样做。啊,它如果是一个数组啊,这个地方看看to。图四,我看这个人怎么打啊。呃,同学们有办法能把它打出来吗?怎么怎么转一下呢。图斯瑞行吗?不行啊,这个make这个行不行啊。这个好像也不行是吧,MK这个也不行,有没有别的办法呢?To也不行了。
09:00
有没有别的办法呢?他返回的这个类型其实确确实实个,但是他现在看到的是一个什么呢?是一个S是吧,想一想有没有办法。好,这个我们先留在这啊,留一个问题留在这儿,待会儿我们回头来解决他也不是什么难事。因为到这已经把这个东西大家也看到,确实已经拿到了,对吧,确实已经拿到了,其实你还有很多办法可以去处理,对吧,如果说我们这拼接一个肉串给他返回。直接是在这输出这个结果其实也也可以看得到,但是我们就想返回这个东西,我们还得想一个办法。好,先把这个留一个,留一个问题在这吧,留一个问题在这,好先留到这啊,留到这过后呢,我们先继续来往下边讲啊,然然后待会课间的时候我们再解决一下,同学们晚上也可以再想一想,先留在这儿。好留到留到这个地方,这个问题过后呢,我们匹配这个数组这一块,我们就先讲到这,好讲到这儿留了一个,留了一个尾巴,大家先想一想怎么解决好,我先截取一下这个。
10:08
啊,这个笔记,那刚才我们讲的是什么呢。诶,刚才我们讲的这个内容是这样子的。是关于数组匹配数组的一个案例。好,写到这,先来一个标题二,那标题二呢,我们讲一下数组匹配的一个基本介绍,还有一个案例。基本介绍来一个标题三。好,我讲了三点对吧,第一点是他。第二点是他第三点我们也可以匹配多个。然后呢,这有一个应用案例。啊,应用案例。好,放到这儿。然后英万例说完了以后呢,我们把这个答案啊,把这个案例给大家放过来。关于这个问题,大家先想一想,肯定是可以解决的,大家也动也都动动脑筋,对吧,相当于有一个作业先去思考,后面呢,我们再去公布这个答案。
11:10
啊,大家也想一想,不要说什么东西,就是哎,老师现在说了,自己没去想过,对吧,我提了一些观点,但是我们发现目前这些都过不去,那为什么过不去,你要去思考。对吧,你不能学东西,你不不能活学活用啊,就是呃,这个效果就会比较差。好,关于匹配数组呢,我们就先讲这些。
我来说两句