V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zhbhun  ›  全部回复第 1 页 / 共 1 页
回复总数  14
23 天前
回复了 zhbhun 创建的主题 TypeScript TypeScript 类型推导真强大。
有哪位大佬知道 Kotlin 是否可以实现的吗?
23 天前
回复了 zhbhun 创建的主题 TypeScript TypeScript 类型推导真强大。
@hguandl 真的可以耶,感谢大佬!
23 天前
回复了 zhbhun 创建的主题 TypeScript TypeScript 类型推导真强大。
@hronro 试了下 rust ,确实支持,看来还是跟语言设计有关系。

```rust
fn with_logging<F, R>(args: F) -> R
where
F: FnOnce() -> R, // 接受一个闭包或函数,返回类型为 R
{
println!("执行函数之前的日志...");
let result = args(); // 执行传入的闭包
println!("执行函数之后的日志...");
result // 返回传入闭包的返回值
}

fn main() {
// 无参数函数
let no_args_task = || {
println!("无参数任务执行中...");
42
};

// 单个参数函数
let single_arg_task = |x: i32| -> i32 {
println!("单个参数任务,参数为:{}", x);
x * 2
};

// 多个参数函数,通过闭包包装来适配
let multiple_args_task = |x: i32, y: i32| -> i32 {
println!("多个参数任务,参数为:{}, {}", x, y);
x + y
};

// 调用高阶函数
let result1 = with_logging(no_args_task);
let result2 = with_logging(|| single_arg_task(21));
let result3 = with_logging(|| multiple_args_task(5, 10));

println!("无参数任务返回值:{}", result1);
println!("单个参数任务返回值:{}", result2);
println!("多个参数任务返回值:{}", result3);

// 最终输出
// 执行函数之前的日志...
// 无参数任务执行中...
// 执行函数之后的日志...
// 执行函数之前的日志...
// 单个参数任务,参数为:21
// 执行函数之后的日志...
// 执行函数之前的日志...
// 多个参数任务,参数为:5, 10
// 执行函数之后的日志...
// 无参数任务返回值:42
// 单个参数任务返回值:42
// 多个参数任务返回值:15
```
23 天前
回复了 zhbhun 创建的主题 TypeScript TypeScript 类型推导真强大。
@hronro 感谢!我去学习下 OCaml 和 Rust 。标题确实没拟好,想改的发现改不了了😭。
23 天前
回复了 zhbhun 创建的主题 TypeScript TypeScript 类型推导真强大。
@wlingxiao @dejavuwind 尝试用 Kotlin 写了下,没搞出来,让 ChatGPT 也说不行。主要是卡在 sequentialize 传入的函数无法是动态的,没有像 TS 提供 Parameters 和 ReturnType 来推导传入的函数类型,只能固定参数类型和返回值,这样就违背了泛化的初衷
23 天前
回复了 zhbhun 创建的主题 TypeScript TypeScript 类型推导真强大。
@jy02534655 是的,js 支持这种高阶函数的封装。但是 TS 加了类型后,也仍然支持,并且可以在编译时检查函数类型。所以有这个疑问,是否是因为像 JS 运行时支持这种写法才行,而 Swift 和 Kotlin 无法做到。
2023-10-20 10:06:28 +08:00
回复了 ChrisFreeMan 创建的主题 Node.js Web Components 2023 年 10 月份了,现在怎么样了
有用 ionic 开发移动端的混合应用,ionic 组件都是 web component 实现的,支持 angular 、react 和 vue ,因为使用了 shadow dom ,很多内部样式无法定制,还原设计稿的时候很痛苦,如果不定制的话,还是可以的。
2020-05-10 14:45:30 +08:00
回复了 chmod 创建的主题 问与答 安卓手机 chrome 相关
这个是点了按钮没反应窗口没关闭,还是点了允许之后定位不到当前位置。在国内用 chrome 定位应该走 gps,定位很慢,你用腾讯浏览器支持 agps,可以很快就定位到具体位置了。
在 window 上的 nodejs 开发体验确实不好,我现在都是在 window 上用 vagrant 开个虚拟机,然后使用 vscode 的 ssh 远程开发,即使依赖再多 node_moduels 也是秒删的,node 运行时 cpu 占用率也低,风扇噪音也小了很多。
同意 jybox 的看法,现在项目依赖多了出现版本冲突的情况很正常(假设模块 A 和 B 都依赖 C,但 C 的版本不同,A 要的是 Cv1,B 要的是 Cv2)。而基于 nodejs 依赖的查找原理(从当前目录开始往上级目录查找 node_modules 下的依赖),将依赖放在本地( B 和 C 各自在其目录下放一个对应版本的 C )可以很好的解决依赖版本冲突问题。
2019-11-15 11:03:38 +08:00
回复了 WangRicky 创建的主题 硬件 已经入手了 Y9000X,黑苹果可参考哪些机型的资料
@tianyu1234 同问,在哪里下载你说的联想固件
2019-03-01 10:22:13 +08:00
回复了 cmlanche 创建的主题 程序员 推荐下我的最佳写作方式,有更好的请补充
@ThomasZ 同样在用 VSCode + Git,这种方式对比一些平台软件需要手动提交和同步,比较麻烦,经常忘记提交和 push。
2017-05-03 22:54:56 +08:00
回复了 DaCong 创建的主题 Linux 坚果云在 Elementary OS 的上问题
~ $ python ~/.nutstore/dist/bin/nutstore-pydaemon.py
('Cannot found expected file manager,', OSError(2, 'No such file or directory'))
The java client is dead, try to restart it
17/05/03 22:53:34 FATAL gui.NutstoreGUI: Uncaught exception
Exception was generated at : 05/03/2017 22:53:34 on thread main
java.lang.UnsatisfiedLinkError: Cannot load 64-bit SWT libraries on 32-bit JVM
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
at nutstore.client.gui.NutstoreGUI.fixTrayIconInUbuntu(NutstoreGUI.java:178)
at nutstore.client.gui.NutstoreGUI.<init>(NutstoreGUI.java:158)
at nutstore.client.gui.NutstoreGUI.<init>(NutstoreGUI.java:99)
at nutstore.client.gui.NutstoreGUI$Holder.<clinit>(NutstoreGUI.java:107)
at nutstore.client.gui.NutstoreGUI.instance(NutstoreGUI.java:111)
at nutstore.client.gui.NutstoreGUI.main(NutstoreGUI.java:1702)
2017-05-03 22:54:48 +08:00
回复了 DaCong 创建的主题 Linux 坚果云在 Elementary OS 的上问题
之前在 linux mint 上安装过,默认的安装包 .deb 安装后无法正常启动,自己直接命令行启动,发现错误日志提示 Java 版本不对。我的是 64 位系统,设置 64 位的 Java 环境变量就行了。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1485 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 00:00 · PVG 08:00 · LAX 16:00 · JFK 19:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.