首页 » 网站建设 » 木兰PHP培训技巧_木兰更生更多 的妙用self 的拓展语义

木兰PHP培训技巧_木兰更生更多 的妙用self 的拓展语义

duote123 2024-11-27 0

扫一扫用手机浏览

文章目录 [+]

上篇演示了 $ 在木兰中的部分用场。
在开源中国的木兰更新资讯评论区,有几位提出木兰和 PHP 中的 $ 用法有很大不同。

这几天基本重现了至今创造的 $ 在木兰中的语法功能,本文逐一先容。
往后有机会再考试测验与 PHP 为难刁难比。

木兰PHP培训技巧_木兰更生更多  的妙用self 的拓展语义

木兰的 $ 与 self

木兰编程措辞中, $ 的语义是 self。
但木兰的 self 与 Python 比较有拓展含义。

木兰PHP培训技巧_木兰更生更多  的妙用self 的拓展语义
(图片来自网络侵删)

多数情形下,$ 都可用对应的 self 语法代替。
下面先先容这部分语法。

1 self 可代替1.1 类型之外

Python 中的 self 仅在类型中利用,木兰可在类型外利用。
self() 返回当前哨程(下面带 > 的是在木兰交互环境下运行的结果)。

> println(self())<_MainThread(MainThread, started 140735684096896)>> println(self().ident)140735684096896

$() 并不许可,由于单独的 $ 不是可识别的标识符。

可以如下定义与引用属于当前哨程的变量,与全局变量不同:

> self.x = 1> self.x1> x(..•˘_˘•..) 请先定义'x'再利用位于第1行

对应到 $ 的用法便是:

> $x = 11> $x1 1.2 类型之内

上篇演示的用场,包括类型内变量与方法、单独利用,都可用 self 语法代替,而且 self 的语义与 Python 相同。
本周复现了一个不能用 self 代替的语法,见下一部分。

2 self 不可代替2.1 可用关键词命名变量

与 PHP 类似,带 $ 可以用关键词命名变量:

> $while = 4> $while4

而用 self 则不许可:

> self.while = 3(..•˘_˘•..) File "<STDIN>", line 1:6, unexpected token "WHILE"self.while = 3 ^> self.while(..•˘_˘•..) File "<STDIN>", line 1:6, unexpected token "WHILE"self.while 2.2 应变属性

应变属性(attr)干系语法对应 Python 中的 @property 和 setter。
这里起名“应变属性”是由于 attribute 和 property 的含义差异很奇妙,暂时未找到得当中文与类型内一样平常属性变量作区分,于是用功能特点命名。
下图左边为木兰,右边为 Python 同功能代码,重点在三个 attr。
这部分功能未创造可代替的 self 语法。

后感

作为未参与木兰原始设计的第三方,仅从复现出的功能很难完备领会设计意图。
就个人觉得,木兰的 $ 干系语法设计简化了 Python 的 self 干系语法。
对 self 的语义拓展虽然看似信手拈来但也有合理之处。
是否对多线程有特殊好处待研究。

请见教。

附录:代码量统计

紧张部分的代码行数统计,格式为:上次->现在。

木兰代码量编辑器,包括实现与测试都是木兰代码:184木兰测试用例:2001 -> 2074

Python 代码量(包括测试部分):2338 -> 2379剖析器/语法剖析器.py:925 -> 953剖析器/词法剖析器.py:195 -> 198测试/运行所有.py,考验所有木兰测试代码片段:185环境.py,定义全局方法:150 -> 156剖析器/语法身分.py,从语法剖析器中提取出来的列举常量:78 -> 79未变剖析器/语法树.py:178交互.py,交互环境(REPL):138功用/反馈信息.py:49中.py,主程序:41剖析器/缺点.py:17测试/unittest/语法树.py,确保天生的语法树与原始版本同等:67测试/unittest/交互.py,交互环境干系测试:28
标签:

相关文章

Qt应用中禁用USB存储设备的步骤与方法

移动存储设备在人们的生活和工作中扮演着越来越重要的角色。移动存储设备带来的安全隐患也日益凸显。为了保障用户数据和系统安全,许多应用...

网站建设 2025-03-16 阅读1 评论0

TBC治疗萨满WA代码详细萨满治疗的奥秘

在《魔兽世界》这款经典游戏中,萨满祭司作为治疗职业,一直以来都备受玩家喜爱。而在TBC版本中,萨满祭司的治疗能力得到了全面提升,其...

网站建设 2025-03-16 阅读1 评论0

iOS游戏金币底层代码技术与市场洞察

手游行业呈现出爆炸式增长。游戏金币作为游戏内货币,是玩家在游戏中消费和互动的重要媒介。本文将从iOS游戏金币底层代码的角度,深入剖...

网站建设 2025-03-16 阅读0 评论0