duangsuse::Echo
729 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
怕不是在做梦
This media is not supported in your browser
VIEW IN TELEGRAM