V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zealot0630  ›  全部回复第 8 页 / 共 14 页
回复总数  264
1  2  3  4  5  6  7  8  9  10 ... 14  
2018-12-31 23:25:34 +08:00
回复了 autoxbc 创建的主题 JavaScript 偶得一法跳出数组循环
JS 的 iterator 是 mutable 的,简直反设计,下面是个能跑的实现和例子

https://gist.github.com/kghost/b001d39b6c6b541a289774bf137f2da8

第一个参数 p 决定什么时候跳出来,楼主按照需求实现 p 函数就可以了
2018-12-31 23:08:39 +08:00
回复了 shadeofgod 创建的主题 程序员 2019 年了,来分享一下有哪些东西是你并不懂的
@abcbuzhiming 所以我说 Haskell 是学术向,学了并没有什么卵用,但是能从里面得到非常多的知识,理念,方法。
2018-12-31 23:02:05 +08:00
回复了 autoxbc 创建的主题 JavaScript 偶得一法跳出数组循环
unfold 可以,然而这个函数太难驾驭,大部分库和语言都不支持。

https://srfi.schemers.org/srfi-1/srfi-1.html#FoldUnfoldMap


随便写了个 js 实现:

···
function unfold(p, f, g, seed, reduce, tailgen) {
function recursive(iter) {
if (p(iter)) return tailgen(iter);
return reduce(f(iter), recursive(g(iter)));
}

return recursive(seed);
}
···

举一个简单的例子,比如说把一个数组累加起来:

···
sum(a) = unfold(
(e) => !e /* 没有元素时候终止 */,
identify /* identify 函数,返回元素本身 */,
(iter) => iter.nex() /* generator,如何遍历元素 */
a[@@iterator]() /* 种子,数组的迭代器 */
(head, tail) => head + tail /* reduce,如何汇总 */
(e) => 0 /* 如何处理尾巴,也可以理解为初始值 */
)
```

unfold 功能相当强大,你要问有多强大,他是其他所有容器函数( forEach,filter,find,findIndex,map,reduce,reduceRight )的母亲,这些函数都能用一个 unfold 调用,在一行里面实现。
2018-12-31 11:51:14 +08:00
回复了 shadeofgod 创建的主题 程序员 2019 年了,来分享一下有哪些东西是你并不懂的
@dacapoday 题主的困扰是如何提升,如何突破,这样情况下当然是去学习新语言的高端特性,开阔眼界。如果方向是如何入门,这种才会去推荐学 C/Java
2018-12-31 10:17:52 +08:00
回复了 shadeofgod 创建的主题 程序员 2019 年了,来分享一下有哪些东西是你并不懂的
@dacapoday c 语言简直就是历史糟粕集合体,学这些糟粕有何用。

说起文法简单,Scala 比 C 简单太多了,Scala 的 spec 只有不到 200 页,C99 有 600 页。而且 Scala 实现了比 C 多几倍的语言特性。

C 的糟粕就举几个例子:

1. null,Scala 可以说消灭了 99%的 null 需求,剩下 1%是为了兼容 Java。
2. offset_of/container_of,这俩宏基本是每个 C 程序员天天见的,受限于 C 语言的表达能力,容易只能用这种浸入式方法实现。
3. 宏,macro,糟粕中的糟粕,功能强大?!,全靠同行衬托,因为 C 的表达能力太差,才显得宏功能强。使用难度高,难调试,易出错,IDE 不友好。其中 IDE 不友好是最致命的。
2018-12-31 05:58:54 +08:00
回复了 shadeofgod 创建的主题 程序员 2019 年了,来分享一下有哪些东西是你并不懂的
半夜写了一堆不知所谓的,大意就是你会什么不重要了,重要的是你理解了什么

语言建议不要学 C/C++这种毫无借鉴意义的古董了,建议学习一下 Scala 和 Haskell,一个工程向的巅峰之作,一个学术向的巅峰之作
2018-12-31 04:57:49 +08:00
回复了 shadeofgod 创建的主题 程序员 2019 年了,来分享一下有哪些东西是你并不懂的
很多东西不是看你懂多少,更重要的是你理解了多少,比如 qsort,不就一行的事情么

qsort(v) = qsort(v.filter(_ < v[0])) ++ v[0] ++ qsort(v.filter(_ > v[0]))

你理解了这一行,把他翻译成你正在使用的语言,边界条件都考虑进去,会有困难么?



另外,拿你所说的 Observable 这个具体点的例子,这就属于一个需要从上往下理解的,理解这个东西全靠自己,比如你能否理解下面这俩问题:

1. vuex 的 data flow 为何要设计 view action state 三个玩意,只有 view 和 state 不好么? view 直接更新 state,state 直接更新 view
2. angular 为何要引入 emitter,直接在 ovservable 的 callback 里面做 render 不好么?为何要 emit 一个事件出来,下次再更新 dom

这两个东西是同一个问题的两种不同解决方案,你如果设计实现过类似系统一定就明白,只是用框架的话,用 100 年也无法了解为什么要这样设计。
2018-12-28 02:35:00 +08:00
回复了 zealot0630 创建的主题 分享发现 Bilibili 港澳台, 解除区域限制
@kumiko 这个限台湾地区,代理是香港的...
2018-12-24 16:05:04 +08:00
回复了 zealot0630 创建的主题 分享发现 Bilibili 港澳台, 解除区域限制
多谢关心,后面代理限制了域名的,www.bilibili.com 更是限制了只能 HEAD 请求.
2018-12-24 02:04:27 +08:00
回复了 zealot0630 创建的主题 分享发现 Bilibili 港澳台, 解除区域限制
@TangYuSen 播放不了的地址贴一下 我看看
2018-12-24 02:00:56 +08:00
回复了 zealot0630 创建的主题 分享发现 Bilibili 港澳台, 解除区域限制
香港的
2018-12-19 01:04:56 +08:00
回复了 lik750 创建的主题 程序员 来说说你认为最简短却最优美的语句/公式吧
Hψ = Eψ
2018-12-13 16:52:49 +08:00
回复了 rizon 创建的主题 程序员 js 的这个语法是个什么东西?
学 erlang,scala 的语法,

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

const [A,B,...C] = [1,2,3] // A=1 B=2 C=[3]

import {A,B,C} from 'library'

const {A,B,...C} = {A:1, B:2, C:3, D:4} // A=1,B=2,C={C:3,D:4}

...的用法还在 proposal
2018-12-11 19:27:48 +08:00
回复了 daijinming 创建的主题 程序员 多个 vue 项目的菜单整合到一个总体导航中,可有办法
一个 router 定义两个 view,一个给导航用,一个给内容用
2018-12-06 10:17:24 +08:00
回复了 zealot0630 创建的主题 程序员 必须来吹一波自己移植的 Windows WSL 终端了
@congeec conpty 补充一下,这东西设计出来为了强行支持多后端,WSL,Win32 Console API 都想支持,所有后端先由它翻译成中间通用内部结构,然后这个内部结构再翻译成 XTerm Seq 发给前段。

用了这玩意,它首先把它不支持的 xterm 特性过滤掉了,然后又强行在两次翻译时候引入一陀又一陀 bug,简直渣到不能更渣。
2018-12-06 10:11:10 +08:00
回复了 zealot0630 创建的主题 程序员 必须来吹一波自己移植的 Windows WSL 终端了
@aheadlead 很多 xterm 特性 conhost 不支持,只能绕过这东西去搞
2018-12-06 10:09:28 +08:00
回复了 zealot0630 创建的主题 程序员 必须来吹一波自己移植的 Windows WSL 终端了
@congeec conpty 这玩意就是垃圾,这东西 xterm 序列还是用 conhost 翻译,然后把翻译完的再转换回成 xterm seq 发给你,前几天我还因为这个去喷了微软那个开发者。
2018-12-05 21:06:18 +08:00
回复了 zealot0630 创建的主题 程序员 必须来吹一波自己移植的 Windows WSL 终端了
@Cooky 别把无知当牛逼,WSL 里面创建 pty,master 端走 tcp。通俗讲,就是类似 ssh 的实现。
2018-12-04 19:04:44 +08:00
回复了 autoxbc 创建的主题 JavaScript 发现一种反模式写法,问问大家的意见
@nullcc

JS 的 this 是恶心,这点没得洗,都是历史遗留的包袱。

this 现在大部分情况作为函数的一个额外参数使用,而不是用于调用成员函数,访问成员变量。
2018-12-04 06:06:21 +08:00
回复了 autoxbc 创建的主题 JavaScript 发现一种反模式写法,问问大家的意见
楼主对 OO 的理解有严重问题,OO 设计中,成员函数是放在 prototype 或 meta 里面,而不是对象里面。
1  2  3  4  5  6  7  8  9  10 ... 14  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2626 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 10:42 · PVG 18:42 · LAX 02:42 · JFK 05:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.