00:00
好,我们开始来上课啊,那今天呢,咱们主要去学习一下我们系统的函数啊,我们系统函数常用的数据函数,字符串函数,以及我们的数组函数啊。那咱们来看一下,在讲今天内容之前,我们先来看一下昨天的作业啊,我上关的作业呢,要求自己去定一个。这个功能对吧。那咱们来看一下,要求跟系统函数的功能一样,对吧,那么系统函数来我们在这里边新建一个。喂。嗯,这。好了,我们在这里面右键。新建一个PP文件,叫做01MY-unft。对吧,那么在去创建它之前,我们先去看一下系统函数这个。Unft对吧,它是怎么用的,比如说在这里边我们来定义一个数组,定义一个数组对吧,那同样啊,在这里面用的时候呢,我也教大家看下手册啊,Unft这里面告诉干嘛,在数组的开头插入一个或者多个单元对吧?那这里边呢,告诉你。
01:11
给了一个and服务什么意思?就是你传的这个东西只能放一个变量对吧?是一个数,而且是一个变量,数组变量,那么当这个变量在这个函数内部发生改变的时候,你对应的外部的变量也是改变的,对吧?然后返回什么呢?返回一个印的,然后这里面中号代表什么,可有可无对吧?如果你什么都不给呢?什么都不给那你就返回原来的数组嘛,对不对?那如果你给了值,改变了这个值对吧?可以给多个啊,任意多个,那它就会上这个数组开头插入这一个或多个的单元啊,那咱们来看一下,比如说在这里边我们定义这个数组啊到。等于ay,好了,那我们这里面来一个你。来个这个。容值教育容值啊,再来一个EDUW好了,那么现在这里面有两个元素对吧,这个功能呢,是向。数组。
02:01
的开头插入一个或者多个单元对吧,那么现在我们来开始去调用,那比如说A杠。Unft,比如说我把脚啊放里边对吧,如果我什么都不给的情况下,返回一个。Int结果对吧,好了,那现在我们来看啊,在这块VR-dop打印这个到了int再来VR-do MP。打印这个Dollar a,注意此时的参数是我什么都没给,我只给了一个什么我的这个数组变量,对吧?哎,没给到添加的值,那么这个时候我们来访问。好了。下面的13好了,这里面的第一个对吧,就是直播返回这么原样的数据啊,高原就有两个对吧,也相当于如果我什么都不给的话,那么它返回率就是我原来的数据那么好了,那接下来我是可以干嘛,可以往里边给值对吧?那来我把它复制一下啊,在这里边我开始给他添加值,对不?咱说可以添加一个或者多个对吧,比如说我现在添加一个什么呢?添加一个学习原地。
03:01
好了,那现在咱们来看啊,只加了一个,那么这时候再打印,你看持续原地是不是加到这个速度下面了,而且注意下标是不是变了,原来你的速度叫零一,现在是不是012啊对不对。哎,然后返回什么长度是三啊,那再来,那我说了,我们可以添加一个,甚至可以添加多个对不对,那比如说把这里边再复制一个出来啊,比如说我把这个注释掉了。好,注册掉以后啊,现在我们添加多个,比如说再来一个这个l monkey l好了。那我们再来看。走这里边是不是添加了俩样对吧,一个学习地,一个融资教育啊好了,那添加完以后啊,这里边还会遇到这样一个问题啊,比如说这个数组要是一个混合数组呢。混合数组啊,比如什么叫混合数组啊,比如说他有这个索引的下标,也有关联的下标,对吧,比如说这个这个下标,我们给他一个什么呢?我们给他一个这个。那。好。这是一个。
04:00
属这个关联数组对吧?哎,然后这个是个索引值,这是一个关联值对吧,那这个俩加一起就是一个混合数组,那么在混合数组的时候,我要往里面添加这些内容,那这个时候我们会看到这个效果。来我们再来看啊,我们打印的20行和21行,来这里边我们再来刷新看好了,在第20行里边,我们依然输出的是四个元素,也是插入成功了,对吧?而在21行里面,你看零一,然后内部它的这个下标就变成二了。对不对,哎,所以这块我们在用的时候一定要干嘛,一定要注意啊好了,那这样的话我们知道这几种结果了,那接下来我们是不是要自己去封装了,对不对,那在这块我们来自定义。什么呀,自定义这个ary unft的功能,对吧,可以干嘛呢?可以实现像数组的开头插入一个或者。多个。八元对不对,哎,而且还要注意的什么呢?咱们来看啊,我们先把这要注意都写上来,那比如说这里边我要给他一个800。
05:01
给个800下标对吧,一个给内部下标,一个给800的下标对吧?那么当我插入往前面插入两个元素以后,这两个下标还会变吗?咱们再来看啊,再来刷新。放心,你看我的下标依然是name和二对吧,也就是说你是如果你是字符串下标,它不会去改变,如果你是索引的下标,是不是在我插入完以后它会改变的对不对?所以在这里边我们需要去注意的是注意的是什么呀。啊,如果啊,元素祖宗。有字符串下标对吧?那么插入后不会改变对吧?如果是所以下标对吧?插入新值后会怎么样?会被改变啊,这就是咱们要注意的,那好了,那我们去定义一下吧,Func function在这里边卖。这个杠UN hift,同样一个按的符,先是AR ay,我给个类型约束对吧,然后按的符一个到,也就说你要传给我一个什么。
06:01
穿过一个刀二对吧。好了,就给一个参数就可以了,因为这里边就算不给参数也是成功的,对不对,哎,所以这里边。拿过来啊,进来以后我们要干嘛呀,我们是不是先去看你这里边有没有值对吧,如果说你没有传参,就好比我们第一个案例,如果我没有传参的话,我是不是就返回这个元素组就行了,对吧?返回元素组返回它的长度吧,哎,所以在这里边我们来判断一下,怎么判断呢?如果AR。没有RG,我们这个先拿到这个参数,看参数里面有几个值吧,哎,所以这个叫做呃,包了ARGS吧,等于fun nc-get-ARGS对吧,获取所有的参数,然后我们来打印一下啊,VR-dup打印什么呢?打印到了ARGS好了,那么打印完以后,现在啊,我们来调用,我还是把刚才那数组拿过来啊。来百度数组CTRLC。拿到这儿来,然后呢,我们就用麦。按shift把刀啊丢进来,也就是如果我是这种情况下的啊,咱们看我拿过来,这里边是不是就是一个元素。
07:06
对不对,那么也就是说在这里面只要有一个元素的话,我是不是直接返回就行了,对不对,那获取了以后,我先来判断如果如果什么如果到了GS。Miss。对吧,小于一的话。应该什么?应该是count吧,哎,So t count的长度啊,它长度如果是。小于一的话,那我就直接r q r return return这个seventeen count,这个到R是不就可以了,对吧,那现在。我们来看啊,我来打印它,打印它以后再来刷新。没有输出了对吧,没有输出了,那这个时候我们来返回它的结果,结果是不是就把它的长度返回出来就行了,对不对,那来。V-DMP打印打导in,好,这个时候我们来看给我拿的长度什么?A长度是那了吗?我返回的return一个CU count高垒啊,是不是没走相当于没走到这里啊。
08:04
我看的GS的时候,它是唯一的吧。再来打印一下啊。未安装dump打印什么打印这个刀RGS。走你数组是不是,哎,它的长度是不是一啊,所以它这里面要是小于。等于一的时候对不对,哎,它不能小于,一般都是等于一,哎,好了,这个拿到二吧,哎,这就对了,对吧,因为小于等于一是不是走到这里,走到这里它的是不是就返回长度一个二就返回当前的数组吧,哎,这是第一种情况,那OK,我们给它做好了,做好我们给它注意的,那么否则呢,也就是说else,如果它不是。不是这什么的,对吧,不至少于等于一的呢,或者这里面我们可以改一下对吧,我直接干嘛呢,如果它大于一的话。我才走到这个里面。你好了啊。用个大一我才走到这里边对吧,就代表什么用户。传入了什么呀,这个第二个参数第二个。
09:03
传入了什么,要插入了值吧,要插入了值对吧?哎,然后最后在这里边我们就直接什么呀啊R堡垒啊,是不是这样更简单啊,那你看这样的话啊,我这里面没传入值的时候,我是不是依然是什么,依然是返回原来的结果,那你看能不能返回原来结果来刷新。有没有,哎,我没打印吗?打印印的时候。呃,调用set。如果它大于一的时候。对吧,当他不大一是不走这里,不走这里我应该是谁啊,是不是count这个到R2对不对,哎,那这个时候咱们来看中引是拿到这个二,哎原有的值对不对,哎也没什么变化,元素组,我们再打一下VR-DMP打印这个导R这个元素组。刷新是不是这样的对吧,但如果人家一旦传值呢,比如说在这里边再来看啊,一旦传的值,比如说传一个学习原地学原力好了,那么一旦传值这个时候我是不是要找到这里来了,那我这块平台把大把DP打印一下,打印什么呢?打印一下叫做。
10:09
用户。用户传入了要插入数组。的元素。元素对不对,那这个时候我们再来看消息,这里面是不是输入了用户传入要插入速度元素啊,对不对,那既然要传入了这个速度元素,那接下来干嘛,接下来我是不是就要给它。操作了对吧,那怎么操作呢?那是不是在这里边。要想了我们怎么操作,因为我们向数组的开头去插入元素对不对,所以在这里面干嘛,你看好了,我第一进来以后第一件事保存原来的数组。因为下标是不是要改变的,哎,保存原有的数组啊,那到了AA就等于到了A,就大家注意这个A是不是我们这个行参对不对,那么行参在函数内部一旦发生改变,因为它是引用传了,它在函数内部一旦改变,对应的它是不是外部的这个。
11:10
是不是也是改变的,对不对,哎,所以在这里面我先把它的值保存一下啊,保存完以后在这里面干嘛呢,我再来包。E for来便利便利谁啊,便利这个刀。As,这是个参数对吧,As,一个Dollar k指向着一个Dollar v吧,哎,好了,然后呢,在这里边Dollar AR。Y方Y里边的什么呀。这个中号对吧,直接开始往里面去插入内容吧,插入什么内容呢?插入这里面的Dollar v,这是不是把我的参数拿过来,但是有一点他们第一次的时候,也就是到K为零的时候,是不是不需要,因为到K为零的时候是不是元速组啊,所以这里边我给它过滤掉,也就说如果到K不等于。零的时候我才干嘛往里面去存值,往里面去存值,是不是把它这个值我们先给他拿过来。
12:03
对不对,哎,好了,那拿过来以后那么一样,这是第一次我们做到了啊,做到了这个值我们先来打印看啊,VR到DP打印这个Dollar a ray这个数组,然后同样我们再来VR装BP打印成来打印Dollar a这两个数组在我的37和38行啊,那我们再来看,再来刷新。在我的37和38行37字里边,你看是不是容值。Work选选D。38行里面原有的数组是不是就这两个?对吧,但是呢,我是把它插入哪了,是不是插入到后面来了。对不对啊,因为我保存以后哎。我保存啊,保存完以后是不是在清空这个数据啊,到了AR等于一个A对吧,清空的,清空完以后,这里边应该应该是往AR里面去加吧,对不对,往AR里面去加啊,那这个时候AR里面是元素组,AR是不是新数组对不对,那这个再来刷新啊,你看在我的这个38和39,什么38你看容值一。
13:03
对吧,在39的时候,是不是有个零叫做垂力。对不对,也就是说我同样现在这个值我保存到AR里面了,保存到AR里面以后,接下来干嘛,我是不是把这个值再放到A里面才可以,也就是说在这里边我再包一次一次来。便利谁呀,便利这个AI原有的这个值吧,对吧,这叫便利。原有的数组。对吧,然后将原有原。数组中的值对吧?将值继续插入到什么呀?引用传参的变量到了AR中吧,哎,那好了,那这里边挨着挨着一个什么Dollar k指向的Dollar v对吧?那如果如果什么如果这个A字方死去,Dollar k它四字不串的时候,那怎么办?那我是不是就Dollar AR里边的Dollar k要等于。到V,否则的情况下呢,是不是R中号等于到V就可以了。
14:02
对不对,哎,那好了,那现在我是不是就把它变了完了变流完以后呢,这个东西我还需要吗?不需要了,这两个打印的我就给它注册掉了,那现在你看我们的功能是不是也可以了啊,再来刷新一下来,你看找到我们最后对54行看好了,我是不是54行的打印5354对吧,那五三返回来怎么长度三五十四呢?你看学区园地融资教育E是不是对的,当我再添加一个l monkey的时候,比如说在这里面我再来一个l l monkey的时候,L Mo,那这个时候我们再来看。周宇,你看零一是不都进来了,然后是name后面是不是跟的啊,对不对,哎,那这个时候我的man and man and save的功能是不是封装好了是吧?哎,这就是咱们封装的这个麦save的功能啊好了,那这节课我们到这里。
我来说两句