00:00
好,同学们,这一节呢,给大家介绍flux语言里面的谓词表达式。啊,什么是位次表达式呢?表达式,哎,所谓位次表达式呢,就是来判断什么什么等于什么,什么什么大于什么。哎,什么什么且。什么什么,哎,是这样的一个这些这些呢,这个逻辑判断呢,统称为位次表达式。好,我们现在呢,可以去新建一个查询,但是呢,这一行我要带走,瑞from我要带走。好,呃,切换到基本编辑器。然后呢,先把我刚才那个见表的语法拿来。可以看到这里面呢,你必须要去,呃,引这个引这个阿瑞这个包。哎,什么叫import?之后呢,用这个字符串把报名呢给圈起来。好,呃,接下来呢,我们就去编写我们位次表达式的一些代码。
01:05
比如说啊,我要判断两个字符串是否相等,ABC等于等于ABC,然后呢,我现在用一个变量把这个位次表达式的结果呢来进行赋值,好,现在呢,我们可以看一下这个返回结果是什么,点击submit。啊,可以看到,再次点击上。好,可以看到呢,这里面呢,其实有一个bug,就是我现在呢,虽然说选择到QUERY2上了,但是我的这个提交呢,它返回的结果还是query里面一里面的结果。啊,说明这个sum它sumit它默认的只提交这个,呃,QUERY1里面的一个flux脚本,所以呢,我们还得把这个给它复制一下,把这个查询的删掉。回到我们的科一里面好。现在呢,点击提交可以看到呢,ABC等于ABC这两个字符串是否相等的判断呢?答案是true。
02:02
啊,那么这里呢,可以直接给大家说结论啊,就是在我们的flux语言里面呢,呃,字符串和字符串是否相等,是根据它们俩之间的字面值进行比较的。接下来呢,我们还可以看一下啊,这个字符串呢,是否支持大于小于的判断,比如说我输入ABC大于ABC,点击submit。啊,可以看到呢,这里的结果呢是false,我们再让这个把这个ABC的首字母呢,呃,后面这个字符串改成b.submit。啊,我们可以看到呢,也是false啊,那我现在是不是可以把这个大于号反过来变成小于号啊,那就应该返回处呢,我们可以试一下把这个大于号改成小于号。啊,提交可以看到呢,返回的就是处。呃,所以说字符串之间的比较呢,其实是根据呃,我们这个UTF8的编码,呃,那么在UTF8编码里面呢,呃ABC呢,它是按照字母表的顺序啊,逐渐越来越大的,它这个码值,比如说就是A呢。
03:04
哎,它要小于B啊,按照这个字母表的顺序一样呢,B小于C,哎小于D小于E是这么排下来的,所以说呢,B啊为首字母的这个,呃字符串呢,就要比A为首字母的字符串要大。啊,还可以看一下啊,如果把这个B,把这个ABC呢,后面再加个D。可以看一下sum啊,一样呢,是这个,呃,左边的ABC呢,Abcd呢要比右边的BBC小。对于英文来说呢,啊,你可以理解为它是按照这个字母表的顺序呢,进行了一个大小的比较啊,那么这种方式呢,我们通常称之为字典序,呃,但是在中文里面呢就不一样,比如说我现在呢要发一个啊,那么啊呢,它这个对应的应该是A是吧,然后呢,我再发一个八,那么R应该是比八小,因为八呢是B,我们再点击提交看一下。
04:02
啊,可以看到呢,这里结果呢是files啊,因为我之前说呢,它这里面其实比较的是UTF8码值。啊,那么UTF8码值呢,其实这里面的汉字编码并不是按照字典序去进行的编码,所以说呃,说它这个大小的比较呢,是根据字典序呢,只是对英文字母有效。好,接下来呢,我们再去看一下一些数字的判断。啊,比如说这个一大于二,那么这显然呢,就是falses.submit。好,可以看到呢,这里返回的结果就是false。呃,现在呢,我们再输入一个一大于2.0。啊,可以看到呢,这个里面呢,没有报错,也就是说啊,为此表达式呢,是可以跨类型进行比较的啊,那么我这里是不是意味着我可以把这个字符串和2.0进行比较呢?可以试一下。
05:01
啊,比如说这个字符串一,然后跟2.0进行比较,点击。好啊,可以看到呢,这里面直接报错了,呃,说这个你的这个表达式,呃,字符串呢,大于这个浮减数,这是行不通的,不支持,所以说呢,这里的跨类型呢,它还是在数字类型的啊,两个数字类型之间,呃接下来呢,要给大家提醒一下我们的精度问题啊,有一个经典的问题,就是在任何的编程语言里面呢啊,我们使用0.1加0.2。啊,来判断它是不是和0.3相等,你会发现呢,都会得到files。啊,稍等啊,这需要重新登录一下。好,提交这个查询。萨米特。然后呢,看原始数据。啊,我们看到呢,你都会得到false。啊,这呢是一个反知觉结果是因为呢啊左边的这个浮点数0.1呢,它有时候可能表示为啊在计算机的底层啊,它可能表示为0.1.00000001啊如果是这样的话呢,啊就左边的这个数最后呢在底层啊,它会比右边的这个0.3呢稍大。
06:13
哎,此处呢,我们可以判断一下,0.1和0.2呢,加起来是不是比0.3大。哎,可以看到呢,是true,也就是左边这个结果呢,是比0.3要稍微大一些的,所以进行这个浮点数的位次计算的时候呢,要需要注意一些这个问题。啊,那么最后呢,给大家说一下我们flax语言里面的谓词表达式,呃且和货的表达,呃,此处呢,我写一下,比如说。一等于一。等于一,且就是AND1等于二啊,我们可以看一下这个会返回什么点尼。啊,可以看到呢,得到一个FALSE4啊,这呢是因为我们的一等于一返回一个处,然后呢,一等于二返回false。
07:03
啊,那么啊,那么错和falses的一个且逻辑呢,就是and的话呢,其实是两边必须都得是错,然后它才能返回错啊接下来呢,我们可以再看一下,如果把这个and呢换成or啊,那么就是这个两个表达式里面呢,只要有一个返回错啊,那么整个表达式呢就是错,可以看下sum me。好啊,说明呢,跟我们刚才说的一样,另外呢,我们还可以使用叹号和等于号。啊,来表示我们判断这个一不等于二,哎,点击提交。可以看到这里返回的结果呢是true。啊。那么一不等于一呢?好,点击提交啊,可以看到返回就是false,也就是叹号加一个等于号呢,表示的是不等于的意思,最后一种位次表达式的这个判断呢,是对正则表达式进行一个判断。啊,比如说我这里呢,写一个S,还是变量名呢是S,然后呢写一个位次表达式,此处呢,我左边写一个字符串叫ABC。
08:05
啊,然后呢,我去写一个正则表达式,哎,这里呢,去用等于号加波浪线来进行一个匹配的操作。呃,在这个flux语言呢,表达式要以斜杠开头,斜杠结尾,在斜杠之间呢来写我们的表达式,比如说我想看这一个字符串是不是以A开头的。好,我现在呢,点击提交。哎,可以看到这里呢,这个结果就是错表示呢,我们现在这个字符串符合啊,以A开头的这么一个正则表达式。另外与匹配相反的一个操作呢,就是不匹配啊,这里呢,我们把等于号换成叹号,意思也就是我的ABC这四个这个字符串是不是跟我后面的这个以A开头的正则表达式不匹配啊,那么显然呢,这是匹配的,点击sum呢,应该返回false。
09:01
好,可以看到呢,返回的是false,好,现在呢,我把这个改回来啊,改成等于波浪线,呃,再次顶尼萨me,现在知道呢,我们ABC啊,跟这个A开头的。呃,正则表达式呢,是能匹配上的,那么现在呢,还有一个语法呢,就是逻辑取反,比如说这个A等于我写一个not,呃,Nott s,接下来呢,我们对A做上一个展示。点击submit。可以看到呢,现在结果就是false,也就是not这个关键字呢,其实起到一个逻辑取反的作用啊,如果这个S是true呢,它返回的值呢就是falses,如果S是falses呢,它返回的结果就是。好,那么到此为止呢,就是我们整个位次表达式的全部内容。
我来说两句