duangsuse::Echo
728 subscribers
4.31K photos
131 videos
583 files
6.58K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
duangsuse::Echo
毕竟人还是要有上进心的,虽然只是做后端或 Android 而已
但这其实也很鸡肋,因为你可能用不到这些反而影响正常工作,我就是一个例子 23333 😅
所以我在做完 GeekApk 和 Lite 之前不打算想他们
#PL #lua #android #tech #emmm
刚才在一 Androlua 开发群里 duangsuse 犯下了一个很荒谬的错误,特别在这里说一下

一个人表示他类似这样的代码出空指针
local van = "Van darkholme"
if true then
fight_with(van) # I think van is always nil here
end


如你们所见,我以为 if 语句的块一个作用域,和之前的 main chunk 不是一个作用域,而 Lua 肯定是非嵌套作用域所以 vanif true then ... end 里肯定就是 nil

但是,其实 local billy = 'Billy'; if true then print(billy) end 证明这一切不是我幻想的那样(我写 Lite 的时候 if 带的块都不进新作用域啊)
而且 local kirby = 233; do do print(kirby) end end 更是打脸了,其实 Lua 和 Java C# 一样是嵌套作用域 🙈
事实证明我错了,后来一成员表示 Lua REPL 里一行一个作用域 🌚 黑人问号

我果断喷 Lua 清奇的设计,REPL 里一行一作用域这种反人类直觉的做法。
但回头想想,Lua 是专门这么设计的吗?反正脸已经打了(我可能是日常(被)打脸最多的),不能最后就是被打了个脸啥都没学到吧 🌑...

于是我照常翻了翻 codedump 君的 `《Lua 设计与实现》`,这本我买来一直没看懂的书(也就看了一个下午)

自古本本出真理,然后可能需要脑子的我就得出了这样的结论: 📖
我们输入每一个换行符,都希望 REPL 能立刻给出当前记录下来代码的求值结果
但 Lua 偏偏是一门设计很奇妙的语言,它将代码解析编译成 Proto 然后载入虚拟机里执行,不像 Lite 只是一 AST 解释器所以可以实现我期待的那种情况
根据本本上的说法,这个 locavars 呐,居然和 Proto 是挂钩的,这样,如果想立刻求值一个代码块,就是要立刻生成一个 Proto(包含里面的 local variables) 然后装进 REPL 用的虚拟机在全局的 LuaState 上下文执行,必须 只能 是「一行一个作用域」了,因为 Lua 里 local 就是意味着给当前块赋值一个本地变量,糟心

那 Ruby 酱呢? 因为 Ruby 里这个问题很复杂我就不想写了.... 🙈
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
#PL #lua #android #tech #emmm 刚才在一 Androlua 开发群里 duangsuse 犯下了一个很荒谬的错误,特别在这里说一下 一个人表示他类似这样的代码出空指针 local van = "Van darkholme" if true then fight_with(van) # I think van is always nil here end 如你们所见,我以为 if 语句的块一个作用域,和之前的 main chunk 不是一个作用域,而 Lua 肯定是非嵌套作用域所以…
类似的问题在 Ruby 里是这样的,注意我没用闭包
# toplevel
kirby = 'Kirby'
module Foo
# Module Foo
puts kirby
end


NameError: undefined local variable or method `kirby' for Foo:Module
from (pry):5:in `<module:Foo>'

在 Ruby 里和我幻想的一样,找不到。Ruby 不使用嵌套作用域, module 里是「新世界」
不过 Ruby 里各种变量的作用域问题实际上很复杂,因为比 Lua Ruby 还有 self 概念, svar/cref special 啊变量类型也比 Lua 多两个(实例变量和类变量)
#life #tech 看了一会冰封的博客,做了半天 SCUT CODE 的 p2 还卡着,然后我不免想了想以后技术上怎么办
后来还是觉得是要慢慢来的,追求得太多但实际没花多长时间在建设悬空楼阁,无视主要技能本身就有选择和现在的无基础

这么久真的是没有,没有系统学习过,现在才发现其实我连打字都不会
只是每天羡慕 OIer 们,羡慕 Haskell coder,羡慕 LFS,羡慕会用 Emacs 的,会写汇编的,会那么多算法的,会 Android 的,会开发 Makefile 纯 C 项目的,会 JNI 的,会...
但是甚至连 C 都没有系统学习过,任何东西都是看代码学来的,现实的无力。
要想真的有资本继续走下去,必须慢慢来,从最基本的打字开始,以后才可能有好的能力
只能慢慢来,从最开始最基础的技能开始,所有书/文档都要看好,所有练习都要做,才能在很久以后达到更高的水平,在这之前我也就是业余的而已
话说回来还是继续做 GeekApk 和 Lite,有些东西现在有能力做,也不应该拖到后面
#android 退步消息
Forwarded from 每日消费电子观察 ()
《Android P 应用将悄悄崩溃而不是弹出对话框》
http://m.cnbeta.com/view/726141.htm
学果子那样直接闪退
或许是我追求得太多了吧,又要广又要深
(突然想到 dfs bfs 233333
所以说是真纸张
「悄悄失败」
Forwarded from 永久封存 | Yuuta 台 | 😷 #Pray4Wuhan (Yuuta)
#iOSAndroid 又一处 iOS 设计。。 这种其实对开发者和用户都不好,开发者的话 App Crash 了不清楚,用户的话这样(iOS 那样)和 System.exit 效果都一样,分不清到底是退出了还是 Crash。
越來越倒车,开始把 Android 变成 Google 自己的不顾生态
This media is not supported in your browser
VIEW IN TELEGRAM
怕不是在做梦