From 95c0565b7a040ae873853410643ae34d28432a59 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Tue, 29 Sep 2026 14:13:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(home):=20Viper=20=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B=E6=94=B9=E7=94=A8=E5=BC=95=E7=94=A8=E4=BC=A0?= =?UTF-8?q?=E5=8F=82=20&list[int]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 函数内要修改外部容器必须走引用传参,签名写 &list[int](与 C++ 的 & / Rust 的 &mut 同理);卡片标注同步改为「引用传参 · 原生产物」。 --- src/views/HomeView.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 781cbb0..df64d7b 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -516,13 +516,14 @@ const viperFeatures = [ /** 同一段插入排序的五语言对照 * Viper 版只用官方标准库容器的真实用法:list[T](堆容器), - * __getitem__ / __setitem__ 支持下标读写、__len__ 协议支持内置 len(),所以无需外传长度 */ + * __getitem__ / __setitem__ 支持下标读写、__len__ 协议支持内置 len(); + * & 是引用传参,函数内要改到外部那个容器就必须带(与 C++ 的 & / Rust 的 &mut 同理) */ const sortComparison = [ { lang: 'Viper', - note: '与 Python 同形 · 原生产物', + note: '引用传参 · 原生产物', highlight: true, - code: `def sort(nums: list[int]): + code: `def sort(nums: &list[int]): for i in range(1, len(nums)): key: int = nums[i] j: int = i - 1