00:00
接下来我们再来讲一下scla语法当中对于标志符的命名规范,呃,所谓的标志符是什么呢?呃,简单来讲就是我们给自定义的那个名字,所有的名字都叫做标志符啊,也就是各种的变量名称,方法名称,函数名称啊,当然也包括这个类的名称,对象的名称啊,都叫做标志符,也就是说凡是自己可以起名字的地方就都叫做标志符,那么对于这个标志符的起名规则,命名规范到底是怎么样的呢?基本上来讲跟Java也是差不多的啊,那细节上呢,又会有一些变化,那再注意一下skyla里边命名的三个重要的规则,首先就是。标志符必须以字母或者下划线开头,后面呢跟着是字母数字和下划线,这个规则跟Java里边基本上是一样的,然后第二条规则呢,是要以操作符开头,且只包含操作符,哎,这个跟Java里边可能就会不太一样,大家会发现在这里边我们可以直接有一堆,比方说加减乘除啊,甚至这个感叹号或者井号星号这样的一些操作都可以作为当前的这个标志符了,但是呢,要注意就是如果使用操作符当标志符当名称的话,就只能使用操作符。
01:23
不能有别的,不能有字母,不能有数字啊,这个大家也比较好理解,就是假如说你有了一个操作符,然后后面呢还要加上数字,比方说你定义一个加,然后还定义一个加二,那我就不知道你当前到底是单独定义了一个方法名称,或者说一个变量名称,还是你要真正要做一个加二操作了啊,所以对于这个编译器而言,我们必须得保证它能够正常识别出我们定义的语法啊,这是比较特殊的一个一个点,然后另外还有一个就是可以用反引号包含任意字符串。即使是。
02:01
Skyla里边的关键字或者说保留字也是可以的,诶这什么意思呢?呃,大家知道,在一般的语言里边啊,所有的编程语言里边,它都会有一些特定的关键字,或者我们叫保留字,就是说这些关键字呢,它是有特别含义的。当编译器遇到。对应的这些关键字的时候,它会把它解析成对应的啊,就是比较特殊的,要执行特殊操作的那些底层的啊,字节码或者是机器码,那比方说我们看啊,现在这个skyla里面的关键字有哪些呢?啊,它其实跟Java基本上是类似的,比方说有package啊,声明这个包的时候用到这个啊import引入相关依赖啊,引入相关这个类和对象的时候需要用到class啊声明声明类的这些个关键字,当然还有一些关键字是Java里面没有的,比如说object之前我们说的啊,定义一个单立对象,半生对象的时候。
03:00
用到的是这样一个关键词,另外还有treat,那这也是Java里面没有的啊,它定义的是特征特质跟Java里边的接口。Interface其实比较类似的,这个我们也会稍后在之后放到面对对象那章节里边,给大家做详细的展开。呃,那还有一些关键字,大家会发现,就是跟Java基本上是差不多,呃,当然也有一些是Java里面没有的,比方说with啊,这也是在面对对象那一部分会会使用到,呃,比方说还有一个非常特殊的关键字叫做implicit,这是影视定义的影视声明的一个关键词,这也是SKY语言的一大特色啊。另外还有就是像这个match match在skyla里边是所谓的这个模式匹配啊,可以做对应的这个模式匹配,这也是skyla的一大特点。呃,还有比较重要的特点就是这个声明方法和变量的时候用到了几个关键字,Java里面没有,就声明方法的时候用的是DEF,大家还记得我们那个主方法main前面的那个声明吧,DEF,那声明变量的时候呢,用的是V和VAR啊,常量是V,变量是VAR啊,这就是SKY里边的一些关键字,总共有39个。
04:12
那正常来讲,这些关键字当然是不能作为我们自自己定义的标志符的名称的啊,但是呢,如果我们把这个。关键字用反引号引起来的话,甚至连关键字都可以作为标志符,也就是说我定义一个变量,它的名字叫什么呢?啊,就叫踹,可以这样,呃,只不过我需要把它用反引号直接引起来,我可以定义一个方法,方法的名称就叫class,呃,只过要把用反引号引起来啊,这是比较奇怪的一种用法啊,大家知道加达里边有这样的规定就可以了啊,那接下来我们也可以在代码里边简单的做一个格式。你有一个同样还是你有一个scalela的object单立对象,当前我们是三个是文件啊,要测的是标志符IL,还是把那方法先写出来啊,接下来我们要测的就是这三个,不信,呃,那首先我们先来看,就是以数字或者下划线开头,后面接着的是数字字母或者下划线啊,这个其实非常的简单啊,就是我们定义的时候,如果第一个hello肯定是没有问题的,对吧?大家知道如果我直接这么写省略类型的话,显然它就是一个s string类型了啊,先把这个写出来,String类型可以这样去定义,当然我也可以是VR啊,可以改变啊,那我也可以他写字母,呃,然后后边呢,它一个数字搜123也是完全可以的。
05:56
啊,那同样我也可以以以下划线开头对吧?啊,就是以下划线开头ABC也是合法的一种定义啊,啊或者我把这个提成一个in也是没有问题的,但是大家需要注意其他的一些场景呢,是不对的啊,就比方说我这里边要定义一个。
06:20
特殊的一个符号,比方说H啊B。可能看到,诶,我如果直接这么定义的话,这看起来好像没有什么问题啊,我可以运行一下看一眼。大家看到这里边直接就告诉我们这个是note放的这样一个特殊的东西,对吧,找不到这样一个,呃,你是表示它是连字符也好,或者是一个减号也好,反正找不到它的一个定义啊,所以大家看到就是有时候idea它可能直接是不给我们报错的,有一些它idea不报错并不代表我们这里边它的这个语法就是对的啊,所以很多东西大家都要具体具体去做一个测试啊啊那当然了,还有大家容易犯的一个错误,就是我先写一个123,然后ABC,这样可以吗?哎,这样当然是不行,这里大家看这个idea直接就给我们报报错了,对吧?啊,这两种方式都是不正确的定义方式啊,是家容易出现的一些问题啊,跟Java基本上是一样的,然后接下来就是啊,特殊的这种用法可以以操作符开头,而且只包含操作符。
07:32
啊,你像前面我们这个H减B这个是不可以的,或者H-B这是不可以的,那假如说怎么样呢?看我一个减号一个杠,然后再来一个加。啊,再来一个这个符号啊,斜线带一个分号,直接定义这么一串,然后给一个。给它附一个值啊,把它当成一个标志符,赋一个值,它是一个string类型,大家看这是完全没有问题的,后边我甚至可以直接line啊,当前的这对应的这一串。
08:07
符号作为一个量,直接做一个打印,我们把后面这个给一个hello。我们运行的话就可以看到直接打印出了哈,啊,这就是一个变量名称,这是完全合法的。呃,大家可能会觉得奇怪,这个为什么SKY里边要有这样一个特别的定义呢?诶,这就是到后边我们会给大家说到啊,在skyla里边,它是真正意义上的面对对象,所以呢,我们所谓的这些操作符,这些加减乘除的符号,其实本质上都可以看作一个对象的方法调用。所以如果说我们想要定义其他的一些方法,特殊的一些方法的话,也可以把这些操作符做一些组合,哎,那就相当于定义了一个对象特别的方法吧,但是你不能在这个里边加上字母或者加上数字,如果加上的话,那编译器就不知道你到底是干了什么事情了,对吧?到底是要做计算还是单独定义了一个变量啊?这就是关于这个操作符组合定作为这个标志符的这种特殊的用法。那最后还有一个就是用反引号引起来的任意的字符串不可以作为。
09:18
呃,当前我们的一个标志符,那比方说可能会发现我如果这里边啊,单独的要去定义一个if OK,我当前的一个标志符的话,这显然是不对的。很明显能这么去做,但是呢,如果我把它用反引号引起来的话。就可以了啊,就是大家看到如果说我定义一个这个字符串啊,它的名字就叫做if是完全合法的。这里面如果打印的时候,当然也要用反引号把它引起来。直接打印输出,大家可以看到能够正常的输出,能够访问得到啊,这就是SKY拉一些关于这个标志符的规则和特殊的用法,大家稍微注意一下就可以了。
我来说两句