我正在尝试使用 Next.js v14 进行页面转换,但没有成功。
没有显示错误,动画只是不起作用。我猜这是因为它layout.tsx是在服务器上呈现的。但我该如何解决呢?
我的layout.tsx代码(根级别):
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
import Sidebar from "@/components/Sidebar";
import Breadcrumbs from "@/components/Breadcrumbs";
import Topbar from "@/components/Topbar";
import PageTransitionEffect from "@/components/PageTransitionEffect";
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
};
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en"> …Run Code Online (Sandbox Code Playgroud) 我有以下名为 cars 的嵌套哈希
{:honda=>{year=>2008,is_condition_good?=>true},
:toyota=>{year=>2010,is_condition_good?=>false}
}
Run Code Online (Sandbox Code Playgroud)
我想返回满足 的嵌套哈希is_condition_good? = true。我意识到我可以使用 select 方法cars.select {|car, attributes| attributes[:is_condition_good?]=true},但以下代码似乎也应该有效,但由于某种原因,它不会进入 if 语句循环。我究竟做错了什么?
cars.each do |car, attributes|
if attributes[:is_condition_good?] == true then
return attributes
end
end
Run Code Online (Sandbox Code Playgroud)
我attributes[:is_condition_good?]之前打印过cars.each do |car, attributes|,看到它打印了true or false ,而且确实打印了。
<div class="formRow">
<label for="phone">Phone number</label>
<input name="custPhone" id="phone" type="tel" placeholder="(nnn) nnn-nnnn"
pattern="^\d{10}$|^(\(\d{3}\)\s*)?\d{3}[\s-]?\d{4}$" >
</div>
Run Code Online (Sandbox Code Playgroud)
这来自一本教科书(尽管已经有几年了),我不知道为什么浏览器只接受任何内容。
任何人都可以看到是什么可能阻止正则表达式完成其工作以验证 7 或 10 位电话号码并拒绝其他模式?
当我只使用表达式并在 regex101.com 上进行测试时,该表达式似乎在那里完成了它的工作。
^\d{10}$|^(\(\d{3}\)\s*)?\d{3}[\s-]?\d{4}$
在 regex101.com 上,1234567 将匹配,1234567890 将匹配,其他少于 7、多于 10 的模式以及包含 8 和 9 位数字的模式将被拒绝。
教科书的其他正则表达式验证很好。它似乎与浏览器无关,因为它在两种不同的浏览器上失败。
从后台线程,当UI需要更新时,需要使用async(execute:)函数发布到DispatchQueue.main,如下所示:
static func executeInUIThread(_ uiThreadFunc: @escaping (Any?) -> Void, _ parms: Any?) {
DispatchQueue.main.async {
// Update UI
uiThreadFunc(parms)
}
}
Run Code Online (Sandbox Code Playgroud)
可以访问闭包内部的uiThreadFuncand ,因为闭包从其“周围上下文”捕获变量。parms
但可以说,我不喜欢 lambda 风格(在 swift 中称为闭包)编程。我怎样才能在不关闭的情况下做到这一点?
我尝试了以下操作:
static func executeInUIThread(_ uiThreadFunc: @escaping (Any?) -> Void, _ parms: Any?) {
let workItem = DispatchWorkItem(block: EventLoopMgr.InternalExecuteInUIThread)
DispatchQueue.main.async(execute: workItem)
}
private static func InternalExecuteInUIThread() {
// How to execute the uiThreadfunc? This block doesn't take any parameters.
}
Run Code Online (Sandbox Code Playgroud)
它不起作用,因为初始化 DispatchWorkItem 时的块不带参数。因此,我无法通过uiThreadFunc …
有变量x,,y。z我想过滤掉其中任何一个没有巨大差距的(差距小于5%)。下面的代码可以模拟,但是如果我想要更多的变量进行比较,代码就会很无聊。有什么聪明的方法吗?谢谢!
library(tidyverse)
diamonds %>%
select(x, y, z) %>%
filter(abs((x - y)/ max(x, y)) < 0.05,
abs((x - z)/ max(x, z)) < 0.05,
abs((y - z)/ max(y, z)) < 0.05)
Run Code Online (Sandbox Code Playgroud) 鉴于这个简单的代码:
private static string GetEncryptedContent(byte[] arrayA, byte[] arrayB, byte[] arrayC)
{
var concatenatedArray = new byte[arrayB.Length + arrayC.Length + arrayA.Length];
Buffer.BlockCopy(arrayB, 0, concatenatedArray, 0, arrayB.Length);
Buffer.BlockCopy(arrayC, 0, concatenatedArray, arrayB.Length, arrayC.Length);
Buffer.BlockCopy(arrayA, 0, concatenatedArray, arrayC.Length + arrayB.Length,
arrayA.Length);
return Convert.ToBase64String(concatenatedArray);
}
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以对字节数组进行 Base64 编码,而无需分配大小为 a+b+C 的新字节数组?
我花了一些时间寻找解决方案,但是我失败了......就像标题中一样,实际上我不知道如何解释,所以示例 df:
A <- c('ABC','GHI',rep(NA,3))
B <- c('AAB','ABC','BCE','CAB',NA)
C <- c('ABC','BCE','GHI','XXX','ZZZ')
D <- c('BCE',rep(NA,4))
E <- c('GHI','ZZZ','BAR',rep(NA,2))
df <- data.frame(A,B,C,D,E)
A B C D E
1 ABC AAB ABC BCE GHI
2 GHI ABC BCE <NA> ZZZ
3 <NA> BCE GHI <NA> BAR
4 <NA> CAB XXX <NA> <NA>
5 <NA> <NA> ZZZ <NA> <NA>
Run Code Online (Sandbox Code Playgroud)
现在我想对行重新排序,使每行具有相同的值,或者NA如果某些列中不存在特定值。期望的输出:
A B C D E
1 ABC ABC ABC NA NA
2 GHI NA GHI NA GHI
3 NA AAB NA NA …Run Code Online (Sandbox Code Playgroud) 我正在实现 SPI 驱动程序。
现在我有以下驱动程序代码(MRE 化):
use tokio::{join, sync::mpsc};
async fn spi_transmit(write_buf: &[u32], read_buf: &mut [u32]) {
assert_eq!(read_buf.len(), write_buf.len());
let (write_fifo, mut read_fifo) = mpsc::channel(2);
let write_task = async {
// Simulate an SPI bus that respondes with the sent data + 20,
// just for demo purposes
for val in write_buf {
write_fifo.send(*val + 20).await.unwrap();
}
};
let read_task = async {
for val in read_buf {
*val = read_fifo.recv().await.unwrap();
}
};
join!(write_task, read_task);
}
#[tokio::main]
async fn main() { …Run Code Online (Sandbox Code Playgroud) C# 中是否可以在同一内存位置拥有多个不同类型的数组?我有一个很大的浮点数组,我需要在尽可能短的时间内将其转换为字节数组。我的想法是有一个指向浮点数组开头的字节数组,这样如果我更改浮点数组,字节数组也会自动更改,但我还没有找到解决方案。这在 C# 中是否可能,还是我必须找到另一种方法?
我需要字节数组是“byte[]”类型的实际数组,因为我必须调用我无法访问的库中的函数。
我做了一个关于 Tailwind 游戏的演示。https://play.tailwindcss.com/2xRDmC52V7这是正在发生的事情的简化版本。这部分是大型菜单的开头,因此是absolute财产。
使用 时absolute,Safari 上的情况会变得很奇怪。我在 TailwindCSS 中做了这个例子,因为它很简单。普通 CSS 也存在同样的问题。我正在寻找他们中任何一个的解决方案。
看到带有红色边框的div,它应该围绕着整个内容。
它应该是这样的。
在 safari 中,div 不获取内容的宽度,因此菜单项位于容器 div 之外。我无法设置宽度,因为菜单是动态的(内容长度不同)。将宽度设置为 100% 也不起作用,因为它占用父菜单项的宽度(非常小)。
如何在不设置显式宽度的情况下解决此问题?
<div class="absolute">
<div>
<div class="flex flex-col flex-wrap bg-red-100 h-96 border-4 border-red-500">
<div class="p-4">
<div class="font-bold">Lorem ipsum 1</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
<div>Lorem ipsum</div>
</div>
<div class="p-4">
<div class="font-bold">Lorem ipsum …Run Code Online (Sandbox Code Playgroud)