U U U U 7H[W LQ VFRSH & U U U XTTTTTTTTTTTTTTTTTTTTTTTY U XTTTTTTTTTTTTTTTTTTTTTTTTTTTTTY
## 输出
函数的 V F 相关参数
]+'•3n^•3!¥,ú' S X W B [[n«$ÀlpY<.] M £n®2)Z )Q]+'È éë à 6 FR S0H[2}_X VHBVF LQVHUW & DIWHU % ! % & $
SXWBWHSW SRVLWLRQ LQVHUW ' EHIRUH & % ! % ' &
## 输出域控制
函数
cü XVHBVFSH3HE!p$1h3}£VF?S$1Bn14
• VHWBVFRSH. $A,e\ddot{a}\AA\mathrm{n}^{a}/®0\ddot{Y})2\AA\math ÿIpY
| VHOHFW | £0a]i0•5p |
0 码力 |
119 页 |
7.44 MB
| 2 年前 3
## 可组合的 Vue
Composable Vue, 编写可组合可复用的 Vue 函数的最佳实践与技巧
ANTHONY FU
Hangzhou, China 2021
## Anthony Fu
Vue 核心成员 / Vite 团队成员
VueUse, Slidev, Type Challenges 等项目创作者
全职开源
antfu
antfu7
知 Anthony Fu
antfu 有限的类型支持
按 API 类型组织
组合式 API 提供的能力
■ 极易复用 (原生 JS 函数)
■ 可灵活组合 (生命周期钩子可多次使用)
提供更好的上下文支持
更好的 TypeScript 类型支持
按功能/逻辑组织
■ 可独立于 Vue 组件使用
## 什么是可组合的函数 可复用逻辑的集合,专注点分离
export function useDark(options: UseDarkOptions 组合关系
useLocalStorage
useStorage
useDark
useEventListener
usePreferredDark
useMediaQuery
■ 其中每一个函数都可以独立使用
☑ 专注点分离
## 建立"连结"模式
不同于 React,Vue 的 `setup()` 只是在组件建立时执行一次,并建立数据与逻辑之间的连结。
■ 建立输入
0 码力 |
36 页 |
4.87 MB
| 2 年前 3
现代编程思想
# 函数, 列表与递归
Hongbo Zhang
基本数据类型:函数
## 函数
- 在数学上,描述对应关系的一种特殊集合。对于特定的输入,总是有特定的输出
- 在计算机中,对相同运算的抽象,避免大量重复定义
○ 计算半径为1的圆的面积: $ 3.1415 \times 1 \times 1 $
○ 计算半径为2的圆的面积: $ 3.1415 \times 2 \times 计算半径为3的圆的面积: $ 3.1415 \times 3 \times 3 $
○ .....
fn 面积(半径: Double) -> Double { 3.1415 * 半径 * 半径 }
## 函数
• 计算半径为1、2、3的圆的面积:
1. let surface_r_1: Double = { let r = 1.0; pi * r * r }
2. let surface_r_2: Double surface_r_2, surface_r_3)
• 使用函数后
1. fn area(radius: Double) -> Double { pi * radius * radius }
2. let result = (area(1.0), area(2.0), area(3.0))
## 顶层函数的定义
fn <函数名>(<参数名>:<类型>,&
0 码力 |
42 页 |
587.59 KB
| 2 年前 3
现代编程思想
# 泛型与高阶函数
Hongbo Zhang
## 设计良好的抽象
- 软件工程中,我们要设计良好的抽象
- 当代码多次重复出现
☐ 当抽出的逻辑具有合适的语义
- 编程语言为我们提供了各种抽象的手段
- 函数、泛型、高阶函数、接口.....
## 泛型函数与泛型数据
## 堆栈
- 栈是一个由一系列对象组成的一个集合,这些对象的插入和删除遵循后进先出原则(Last ## • 我们希望存储很多很多类型在堆栈中
☐ 每个类型都要定义一个对应的堆栈吗?
☐ IntStack 和 StringStack 似乎结构一模一样?
## 泛型数据结构与泛型函数
## - 泛型数据结构与泛型函数以类型为参数,构建更抽象的结构
1. enum Stack[T] {
2. Empty
3. NonEmpty(T, Stack[T])
4. }
5. fn Stack::empty[T]() => (Some(top), rest)
11. }
12. }
• 将 T 替换为 Int 或 String 即相当于 IntStack 与 StringStack
## 泛型数据结构与泛型函数
• 我们用 <类型1>,<类型2>, $ \ldots $ 来定义泛型的类型参数
enum Stack[T]{ Empty; NonEmpty(T, Stack[T])
0 码力 |
27 页 |
2.56 MB
| 2 年前 3
从原理图更新 PCB(正向批注) ..... 82
从 PCB 上更新原理图(反向批注) ..... 83
生成输出 ..... 86
打印.....86
绘制.....87
生成物料清单.....88
生成网表.....91
符号和符号库.....98
管理符号库.....98
创建和编辑符号.....100
浏览符号库.....124
仿真器.....125 现代原理图设计软件所需的以下额外但基本的功能:
• 电气规则检查(ERC),用于自动控制错误和缺失的连接
- 以多种格式导出绘图文件(Postscript,PDF,HPGL 和 SVG)
物料清单生成(通过 Python 或 XSLT 脚本,允许许多灵活的格式)。
原理图编辑器以几种方式支持多张原理图:
- 扁平的层次结构(原理图表在主图中没有明确的连接)。
简单的层次结构(每张原理图只使用一次)。 设计的原理图不仅仅是一个电子设备的简单图形表示。它通常是开发链的切入点,可用于:
根据一套规则(《ERC,电气规则检查》)进行验证,以发现错误和遗漏。
- 自动生成《创建自定义的网表和 BOM 文件,材料清单》。
《创建自定义网表和 BOM 文件,生成网表》用于仿真软件,如 SPICE。
《创建自定义的网表和 BOM 文件,定义电路》,用于转移到 PCB 布局。
原理图主要由符号、导线、标签、结点
0 码力 |
175 页 |
18.32 MB
| 2 年前 3