Forwarded from neoFelhz's Channel | 山雨欲来风满楼 (neo喵 | 鶸 | 蒟蒻 | 说我是大佬的人都是大佬 | 🐈)
我个人维护的一个 neoTerm(一个类似 Termux 的终端)的软件源:
https://mirror-neoterm.neofelhz.com
https://mirror-neoterm.neofelhz.com
duangsuse::Echo
Lime 又双有新变化了.... 新内部函数定义 ~> let = equal extern extern extern-query extern query ## object-id 常量 self args LSTACK $^ * 可能又丢失了一些变化.. 没办法 记这些东西也不容易 🌑 * 类库文件结构还有变化 * 新特性是支持函数作用域, 为了解决以下问题被迫加入的(还有额外好处): (def puts-in-stream (stream data) (stream.puts data))…
我想到 Lime 可以和 Ruby 很像并且赛艇就很开心 🌕....
以后 Kotlin 版出了才是蕞好的
以后 Kotlin 版出了才是蕞好的
(module Animal
(class Duck
(attr name)
(initialize (name) (self.name= name))
(def sleeping self::sleeping)
(def sleep (self::sleeping= #t))))
(class std::Object
(def duck? (self.is_a? Duck)))
(-> duck (Duck.new 'Donald))
('(" name sleep sleeping).each' (do (mid)
(duck.send mid)))
('(" quack walk)'.each (do (mid)
(duck.define_method mid (do (puts "#{mid}ing...")))))
(duck.quack)
(duck.walk)
(Duck.define_method :is_a_duck??? (do #t))
(-> swissie (Duck.new 'Swissie))
(swissie.is_a_duck???)
不过或许可以加个元编程功能可以有个不能完全正常工作的解决方案(
(不过查询展开前的表达式可以有, += 这样的还是算了,还好
不过:
所以这样(原生类型)的实现只能使用元编程 API 并且是部分安全的,算是个语法糖.... (self 不是 Hash)
要不然可以将原生类型包装起来便可以安全的使用 🌑
Ruby 这样的话,说不定会造成平台差异,还好 Native 实现计划传引用的...
(-> += (# (s v)
(~> args._^.s (+ s v))))
(-> a 1)
(+= a 3) ;a=1+3
(不过查询展开前的表达式可以有, += 这样的还是算了,还好
(self::a= #t) (self.args.b.name= 'ss) 这样的代码还能工作(Hash 是引用传递) 🌑不过:
(-> a 1)
(a.++) ;... bad..... QAQ (-> a (++ a))
(b::a= 1)
(b::a.++) ; (-> b::a (++ 1)) 虽然好像在这里没有问题(b::a 稍后会被找到,不会使用 OO 语法)
(p b::a)
所以这样(原生类型)的实现只能使用元编程 API 并且是部分安全的,算是个语法糖.... (self 不是 Hash)
要不然可以将原生类型包装起来便可以安全的使用 🌑
Ruby 这样的话,说不定会造成平台差异,还好 Native 实现计划传引用的...
Forwarded from neoFelhz's Channel | 山雨欲来风满楼 (neo喵 | 鶸 | 蒟蒻 | 说我是大佬的人都是大佬 | 🐈)
https://t.me/lynote/1937
当时霍金先生是来华做了“膜的新奇世界”科普演讲后和江主席见面的。
当时霍金先生是来华做了“膜的新奇世界”科普演讲后和江主席见面的。
Telegram
神奇的笔记
对面的过客走了一个又一个