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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
写完之后可以使用 [F2] 来同步更新到图层,或者使用 -> 方向键更新数据指针
如图所示
档燃啦,要进行算法可视化分析代码是离不了的,所以 VisualGIMP 有更新程序指针的快捷方式,使用上下左方向键即可递增/减/重置程序指针
duangsuse::Echo
档燃啦,要进行算法可视化分析代码是离不了的,所以 VisualGIMP 有更新程序指针的快捷方式,使用上下左方向键即可递增/减/重置程序指针
那么下面我们开始进行实战演示:

不过,由于 VisualGIMP 自身不完善的原因,没有默认内置一个用于导出图像的函数,得先定义一个....
我去写.../
This media is not supported in your browser
VIEW IN TELEGRAM
Finally
duangsuse::Echo
Finally
This media is not supported in your browser
VIEW IN TELEGRAM
因为 GIMP 不支持把 Image 看成 drawable 而 png export 又需要 drwable 的原因,我在 check_layers 检查注册特殊图层结构的时候检查了一下是否使用『新结构』注册(有 root 图层)结果工作良好,没有测试出问题
anim_BlakcListRstrstr.xcf
2.7 MB
大家可以试试用 GIMPVisual 玩一下这个 🤔 虽然 GIMPVisual 本身有一定的扩展性,很多风格都可以自定义,对于十六进制,特殊大内存地址无法完全创建图层抽象的,可以自己手动 compile lambda 去 +/- 一个 offset,就实现了『二进制字节操作』的指针可视化
只需要按一下回车键就可以导出这一帧的图像
frame0.png
390.2 KB
This media is not supported in your browser
VIEW IN TELEGRAM
展示性地介绍一下这个插件,目前例子还没做完....
duangsuse::Echo
展示性地介绍一下这个插件,目前例子还没做完....
可以看到指针在移动就对了
Screenshot_20190503_233533.png
161.6 KB
Made with ❤️ and VisualGIMP
... NS, 我开始在 ObjectiveC 上看到的,看到的只是 NSNumber,我自以为是的解释是:Natural Signed Number... 🙈 23333
Forwarded from Rachel 碎碎念 (IFTTT)
小王喜欢用 null 表示空,词源是拉丁语 nūllus (not any)。
小张觉得直接用拉丁语 nil 更好,更短也表达了 nothing 的意思。
小周觉得用英语 None 不更便于理解?
小李觉得他们都有道理,于是同时引入了 nil null None 和 Nothing。

老李觉得,应该再引入一个 NSNull。#晦涩难懂的码农段子— Delton Ding (@DeltonDing) May 1, 2019
#CS #PL #FP #Tuby #PHP 说到现在广为资磁🐸的 Lambda(排除 Scheme 等真正依赖真正的 Lambda 的之外),

我们就来看看 🌶🐔 #Python 吧。

如果你给 Python2 一个这样的 Lambda 表达式:

(global scope)
a = 1
l = lambda: a
print(l())
# 1
compile('l=lambda: a=2', '<lambda-assign-test>', 'single')
#!> File "<lambda-assign-test>", line 1
SyntaxError: can't assign to lambda

这是怎么实现的,我想不是重点,但是 Ruby 里的确可以这么做,反观 Java 8 引入的 Lambda(Coin 项目的?哦好像就叫 Lambda 项目...),也不能『assign』
它要引入的变量,全都得是 "effective final",要不然就是『无效引用』了?为什么?其实这和程序设计语言语义背后的存储,关于值和引用之类的东西有关...

a = 1
l = ->() { a = 2 }
l.call() #=> 2
a #=> 2

正好符合我们对『a = 2 语义』的预期,Ruby 就是这样,代码块就是代码上下文中的一部分,不是独立的语法糖。
从侧面反映了 Ruby 不仅比 Python 更可读(拟态方法 vs. __init__ __ge__ 这种让人丈二和尚摸不着头脑的奇葩名字,还有反直觉的类定义项引用名字里 __ 前缀的含义),而且更函数式(跑

欸这么做啊就有一个好
,我们知道 Python 是实现了 Lexical scoping(嵌套序作用域) 的,要不然也不能这样定义这个函数:

def compose2(fn): return lambda x: lambda y: fn(x, y)

并且这样使用

compose2(print)(1)(2)

如果 Python 是 dynamic scoping(时序作用域)维护着符号表栈的话,

def get_a(): return a
a=1
get_a() #=> 1
def foo():
a=2; return get_a()
foo() #=> 1

foo() 的 a 定义就要覆盖掉 global scope 里的 a 定义了(反正这里就是一层函数调用一个作用域,还有一个 global scope)

Python 认为 Lambda 是什么呢? 它认为 Lambda 是一种 function...
欸 Python 实在是混乱邪恶... 像是 Ruby 和 Lua 的杂交体...

为什么
,你们猜? 🌚
还是说...