我试图复制 Anders 在Build 2018 (36:45) 上展示的条件类型和泛型示例。他使用条件类型作为返回类型来替代更传统的函数重载。
幻灯片有以下内容:
type Name = { name: string };
type Id = { id: number };
type Check = { enabled: boolean };
type LabelForType<T> =
T extends string ? Name :
T extends number ? Id :
T extends boolean ? Check :
never;
declare function createLabel<T extends string | number | boolean>(value: T): LabelForType<T>
Run Code Online (Sandbox Code Playgroud)
我试图稍微简化一下,并提出了以下示例。条件类型number
在给定 a 时返回,string
反之亦然,而函数将此条件类型实现为返回类型。
type Return<T> = T extends string ? number : T extends …
Run Code Online (Sandbox Code Playgroud) 据MDN -级联和继承的initial
价值
将应用于选定元素的属性值设置为与在浏览器默认样式表中为该元素上的该属性设置的值相同
所有主要浏览器中锚元素的默认颜色都是蓝色。例如,Chrome 的默认样式表为锚元素定义了以下样式:
a:-webkit-any-link {
color: -webkit-link;
text-decoration: underline;
cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)
其中-webkit-link
解析为蓝色。
鉴于此,我希望锚元素的文本在使用color: initial
. 但取而代之的是黑色。为什么?
经过一番调查,我发现MDN自相矛盾这里的写作
初始值不应与浏览器样式表指定的值混淆。
我很迷惑。哪个论述是对的?
如果后者为真,我在哪里可以找到不同浏览器的元素初始值?为什么初始值应该与浏览器样式表中指定的不同?
我有一个简单的 ContentView,由带有一些文本和间隔符的 VStack 组成。
VStack {
Text("Hello")
Spacer()
Text("World")
}
Run Code Online (Sandbox Code Playgroud)
我想在它后面放一个背景图片。我尝试使用 ZStack。
ZStack {
Image("background")
VStack {
Text("Hello")
Spacer()
Text("World")
}
Run Code Online (Sandbox Code Playgroud)
但现在 VStack 不再尊重安全区域了。
此外,在横向模式下,VStack 根本不会重新缩放,从而有效地将其内容移出视图。
为什么Image会影响VStack?我认为 ZStack 保持层“独立”?
我想生成最长长度的所有字母排列n
例如,对于参数2
我想获得一个类似的列表
a
aa
..
az
...
z
za
..
zz
Run Code Online (Sandbox Code Playgroud)
我尝试使用 for 循环n
通过重复{a..z}
^1并将其附加到变量来生成越来越大的大括号扩展。但这似乎不起作用。
a
aa
..
az
...
z
za
..
zz
Run Code Online (Sandbox Code Playgroud) 我需要将包含带有美元符号符号的数学的纯文本文件转换$myformula$
为\(myformula\)
符号。但是我希望双美元符号$$myformula$$
不被替换。
到目前为止,我都是手动完成此操作,找到用开头语法替换所有美元符号之前的空格\(
,用关闭语法替换所有其他美元符号\)
,并手动纠正剩余的错误(例如行开头、双美元符号) )。我认为我可以使用正则表达式命令通过终端转换多个文件,这会大大加快速度。
下面是它的外观和应该的样子的示例:
前:
这是$a+b_{k}+c$句子。
另一个测试$s_\text{hi}+3$。
$x=y$ 在那里。
$$y=z$$ 为什么?
$$z=z$$
这可能是 ($3^2$, $x_1$)。
后:
This is \(a+b_{k}+c\) sentence. Another test \(s_\text{hi}+3\). \(x=y\) there. $$y=z$$ why? $$z=z$$ This could be (\(3^2\), \(x_1\)).
谢谢!