2020-12-27 11:32
看到开源论坛还有这种不堪入目的语言。想想真可悲。
2020-12-27 12:20
请问哪里“不堪入目”了?
2021-01-19 22:40
哪里不堪入目?一个大蟒蛇汉化了一下。就到处炫耀。而且魔改的不人不鬼。哪怕你学学人家易语言。
2021-01-19 22:41
你这个比某为的Android套皮还可恶。国人就喜欢做这些自以为高大上。实则就是偏偏门外汉的事。还自以为是。
2021-01-19 22:45
有能力基于py向下兼容扩展一门新的语言
2021-01-19 22:46
变成中文一下就成了国产
2021-01-20 00:48
把语法和标识符分清再来喷可好?
2021-01-26 08:23
这种不伦不类。不阴不阳。细看都作呕。
2021-01-26 08:24
Chinese 为了钱。啥事都可以干的出来。包括尊严和脸
2020-12-25 09:17
还不如那个草蟒
2020-12-25 09:48
草蟒项目不仅对python语法作了中文化,还对大量python API和报错信息作了中文化。中文化后的API发布到pypi后木兰也可调用,中文报错信息也可以复用。所以,当然支持!
2020-12-24 21:34
木兰。。也太差了吧
不过Python包导入也不是永远只运行一次的,今天我就发现了一个bug
我自己写的一个语言,正好今天在处理包引入的问题,实现了只导入一次,没什么难的
2020-12-25 00:27
开源地址分享一下?方便大家观摩
2020-12-25 11:53
gitee.com/junruoyu-zheng/ligral
2020-12-25 11:54
不过这个功能刚写,之前的发布版还没有,得编译dev分支才行
2020-12-25 13:34
是这个 commit 吗?https://gitee.com/junruoyu-zheng/ligral/commit/bdeb56adc162f551b671a9684bd8112782e4e4a9
看起来是用字典解决的?
不过本项目旨在还原木兰原本的语法功能,并尽可能揣度原设计者的意图。
个人尚不确定这个引用机制是否原设计者有意为之(初步感觉有合理之处),现在仍在确认功能和相关实现。
2020-12-26 07:40
是用字典解决的,Python的sys.module也是用的字典。多次重复导入合理吗?c+*为了避免多次导入,引入了ifndef语法,c#随便using只导入一次,python也是只导入一次,这是一方面,说明大家都不这么做。另一方面,如你文章所说,允许多次导入会出现难以排查的bug,而且如果循环引用还会无限递归(参考一下我项目里doc/user-guide/import.md里面提到了我是如何处理循环引用的)
2020-12-26 11:55
刚在木兰原始可执行文件里试了循环引用,居然没有报递归过深的错,而是报 “No module named xx”。类似例程在 python 的报错似乎不同。
而现在的重现项目里,循环引用会报错递归过深。。还要再研究和原始木兰的差别在哪里。
多次导入尚未想到特别合适的应用场景,我再参悟一会吧。。
2020-12-26 20:38
回复 @吴烜2020 : Python不会报递归过深,因为按照Python的设计,已经加载过的模块不会再加载。因此,如果Python中循环调用报错了,那就是顺序问题,比如模块二调用模块一的内容,而该内容在模块一调用模块二之后才被声明。如果在之前声明,就不会报错。不过Python有个bug,如果入口文件被循环调用,入口文件似乎会被执行两次,还没深入研究。但我写的语言没有这个问题
2020-12-26 20:40
回复 @吴烜2020 : 循环引用最好是要规避的,如果不想支持循环引用,直接检测报错我觉得也可以。但是不检查模块是否已经加载,多次加载同一模块,我觉得有点说不过去
2020-12-27 01:34
回复 @Junruoyu-Zheng : 昨天在逆向里确认了一下,貌似原始木兰在循环引用时行为是一样的(无限递归),报错是因为导入木兰模块失败后自动试图导入同名 python 模块时找不到该文件所以报“No module named xx”。

循环调用这个场景,如果选择不支持,个人同意类似“a 和 b 存在循环引用”之类的提示比较用户友好。如果支持的话,感觉就会引入一些问题排查的麻烦,因为用户需要完全理解语言是如何处理这种情况的。
2020-12-27 07:38
回复 @Junruoyu-Zheng : 个人试着从设计的角度看(当然,不一定与木兰原设计者思路相同),如果将模块看待为“静态资源”,那么多处加载同一模块时,多次加载并无明显用处;如果模块是看成像是更高一级的“类型定义”,然后每次引用时是对它的“实例化”呢?
2020-12-27 08:10
回复 @吴烜2020 : 原则上类型就该交给类型做,木兰不也有type吗?而且如果将模块视作类型,没有构造函数,可用性差很多。退一万步说,就算这是个feature,那也要着重介绍一下,因为和别的语言很不一样。引文我认为这是bug而不是有意为之的
2020-12-27 09:01
回复 @Junruoyu-Zheng : 由于没有发现原设计者的文档,参照物只有原始可执行文件和某位做的逆向。是feature还是bug只得靠大家揣度。此类特殊之处至今发现的并不多,确认之后肯定会详细文档化,感谢提醒。
2020-12-24 19:32
作者是不是传说中的什么院的教授,自娱自乐,自导自演,自吹自擂,自命不凡!
2020-12-25 00:28
传说源头在哪呢?很想看看有多离谱 😂
2020-12-26 14:42
自娱自乐就是年薪比这儿所有人高
2020-12-24 16:27
这种算语言吗。。。 CBrother脚本都比这强
2020-12-24 16:30
我能写十个,剩下留点给别人发明
2020-12-24 16:36
请问强在哪里呢?
2020-12-24 16:40
最起码没骗国家钱。。。。。。,跑的还是自己写的虚拟机
2020-12-24 14:38
牛B哦
回复 @
{{emojiItem.symbol}}
返回顶部
顶部