我正在使用 R 编程语言工作。
我正在尝试为以下函数绘制从 n=0 到 n = 1000 的图(链接:https://www.youtube.com/watch?v =iH2kATv49rc&t=7s ):
首先,我尝试定义 P_00(2n) 部分:
combinatorial_square <- function(n) {
(choose(2*n, n)^2) * ((1/4)^(2*n))
}
Run Code Online (Sandbox Code Playgroud)
然后,我尝试编写另一个函数来执行上述函数的累积和:
cumulative_sum <- function(N) {
s <- 0
for (n in 1:N) {
s <- s + (choose(2*n, n)^2) * ((1/4)^(2*n))
}
return(s)
}
Run Code Online (Sandbox Code Playgroud)
然后,我尝试将其绘制在 N 的范围内:
N <- 1:250
y <- sapply(N, cumulative_sum)
plot(N, y, type = "l", main = "Plot of cumulative_sum function", xlab = "N", ylab = "cumulative_sum(N)")
Run Code Online (Sandbox Code Playgroud)
我的问题:我似乎无法针对较大的 N 值绘制此函数(我认为这可能是因为计算机无法计算大的组合项?): …
我的服务使用套接字通信收集并显示一些统计信息。一些客户端使用 WebSocket 协议通过 Web 浏览器连接到它,而其他客户端则使用使用常规套接字的 Windows 服务。
我这样创建了一个监听端口:
let on = "0.0.0.0:8081";
let server = std::net::TcpListener::bind(on)?;
while let Ok((stream, _)) = server.accept() {
let peer_adr = stream.peer_addr().unwrap();
if peer_adr.to_string().starts_with("127.0.0") {
// socket
} else {
// web socket
let ws = tungstenite::accept(stream)?;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试过 IP 检查来检测客户端的类型,这对于生产来说是不可接受的。
我的问题是:
stream.protocol.start_with("ws"))环境
Rust version: `1.74 - stable`
Extra crate: `tungstenite = { version = "0.20" }`
Run Code Online (Sandbox Code Playgroud) 我是 Material Design 的新手,正在研究是否可以将 Material Design 3 与 Angular 版本 17 一起使用。
我已按照Material Design 3中提到的步骤安装并成功安装,但我不知道如何使用其组件。任何帮助,将不胜感激。谢谢..!!
这是我的代码:
#include <stdio.h>
int main() {
char word0[4], word1[4], word2[4];
scanf("%s%s%s", word0, word1, word2);
printf("word0: ");
for(int i = 0; i < 4; ++i) printf("%c", word0[i]);
printf("\nword1: ");
for(int i = 0; i < 4; ++i) printf("%c", word1[i]);
printf("\nword2: ");
for(int i = 0; i < 4; ++i) printf("%c", word2[i]);
}
Run Code Online (Sandbox Code Playgroud)
输入:
zxcv abcd 1234
Run Code Online (Sandbox Code Playgroud)
它输出:
word0: xcv
word1: bcd
word2: 1234
Run Code Online (Sandbox Code Playgroud)
我改变了代码
zxcv abcd 1234
Run Code Online (Sandbox Code Playgroud)
到
word0: xcv
word1: bcd
word2: 1234
Run Code Online (Sandbox Code Playgroud)
然后我调试代码:(
对于这种情况,我输入了zxcv qwer 0235)
Screenshot …
我在使用 .s3 获取文件时遇到 S3 方法问题sys.source。
假设虚拟 S3 泛型和方法
# dummy.r
dummy = function(x, ...) UseMethod("dummy")
dummy.data.frame = function(x, ...) print(x)
Run Code Online (Sandbox Code Playgroud)
通常,只需attach添加一个新环境就可以了,但文档显示附加了环境的副本,但该副本并未更新。相反,规范的方式表明sys.source:
.sourced_code = attach(NULL, name = ".sourced_code")
sys.source("dummy.r", .sourced_code)
Run Code Online (Sandbox Code Playgroud)
现在,search()将显示.sourced_code在搜索路径中,并且 和 都dummy()可以dummy.data.frame()到达。但是, dummy(iris)表示没有方法应用于dummyobject data.frame。
没关系,我们知道如何解决它,不是吗?
通常,.S3method()或底层函数registerS3method()可以解决这个问题,因为 S3 方法不需要显式注册的唯一时间是它们都在同一环境中(即,通常在source控制台中定义之后或定义时在用户的 baseenv 中)。
可悲的是,.S3method()由于某种原因不起作用,到目前为止,我对发生的事情感到非常困惑。在环境中创建.__S3MethodTable__.了.sourced_code,methods(dummy)确实找到了dummy.data.frame方法,但是dispatch仍然很混乱。
我们能弄清楚吗?
编辑:
@the-mad-statter 给出的答案适用于问题的稍微不同的定义,但不适用于问题本身。
.sourced_code …Run Code Online (Sandbox Code Playgroud) 最近我升级到 Visual Studio 版本 17.8,现在我的一些单元测试失败了。
在测试项目中,我使用 property 设置程序集版本<Version>1.0.0</Version>,但在编译后的 DLL 中,版本变为1.0.0+67a555...; 这似乎是一个哈希值或一个 GUID。
以前的 Visual Studio 版本从未发生过这种情况。
由于某些测试依赖于版本字符串1.0.0,因此此行为会破坏它们。
有什么方法可以禁止编译器(?)附加到版本字符串吗?
PS 本示例中的测试项目面向 .NET Framework 4.8 和 .NET 6.0 ( <TargetFrameworks>net48;net6.0</TargetFrameworks>);在这两种情况下,+67a555...都会附加字符串。
我有这样的代码,一般来说它工作正常,但是如果有一个最大长单词并且后面跟着长度相同的单词,那么它将只返回1个长单词,而我需要获取最后一个长单词。这就是我的意思,这样的输入:AWord BWord ALongWord BLongWord CLongWord。我的代码将输出 (A)ALongWord,但应该输出 (C)CLongWord,因为它是最新的。
fun main(){
val result1 = readLine()?.split(" ")?.associateWith { it.length }?.maxBy { it.value }.let{it?.key?.get(0)}.let { println(it) }
}
Run Code Online (Sandbox Code Playgroud)
我认为这可以通过减少来完成,但我不太明白如何,可能我的实现需要重做,因为 maxBy 不允许它完成,如果可能的话,修复我的代码或提供您的解决方案。这是一项学习任务,涉及在集合上使用函数。
今天我正在检查是否可以将我的应用程序迁移到 .NET 8。起初一切正常,当我尝试登录时,我在控制台中收到以下错误:
无法验证令牌。
Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException:IDX10506:签名验证失败。在 TokenValidationParameters 上指定的用户定义的“委托”未返回“Microsoft.IdentityModel.JsonWebTokens.JsonWebToken”,但在验证令牌时返回“System.IdentityModel.Tokens.Jwt.JwtSecurityToken”
我的客户正在使用 PingID 的定制实现。使用内省来验证令牌,这就是我编写自定义令牌验证器的原因:
public class PingTokenValidator : ISecurityTokenValidator
{
private readonly IConfiguration configuration;
private readonly ILogger log;
private readonly OpenIdConnectConfiguration openIdConnectConfiguration;
private readonly JwtSecurityTokenHandler tokenHandler;
public PingTokenValidator(OpenIdConnectConfiguration openIdConnectConfiguration,
IConfiguration configuration)
{
this.tokenHandler = new();
this.openIdConnectConfiguration = openIdConnectConfiguration;
this.configuration = configuration;
this.log = Log.ForContext<PingTokenValidator>();
}
public bool CanReadToken(string securityToken)
{
return true;
}
public ClaimsPrincipal ValidateToken(string securityToken,
TokenValidationParameters validationParameters,
out SecurityToken validatedToken)
{
try
{
var principal = this.tokenHandler.ValidateToken(securityToken, validationParameters, out validatedToken);
if (tokenExistInCache …Run Code Online (Sandbox Code Playgroud) 我正在探索 .NET 8 的新 Blazor 功能,但遇到了一个问题:我的组件似乎渲染了两次。当我将“流渲染”与“交互式服务器渲染模式”结合使用时,会出现此问题。
为了清楚起见,我简化了我的代码:
@attribute [StreamRendering]
@rendermode InteractiveServer
@if (data == null)
{
<p>Loading...</p>
}
else
{
<p>@data</p>
}
@code {
private string? data;
protected override async Task OnInitializedAsync()
{
await Task.Delay(1000);
data = "Hello World!";
}
}
Run Code Online (Sandbox Code Playgroud)
在此代码中,我希望首先显示“Loading...”文本,然后在延迟后显示文本“Hello World!” 应该更换它。这是可行的,但是一旦data显示,组件就会重新渲染并且加载文本会再次显示。
我的问题是:
\0我尝试通过两种方式在字符串中添加空终止符 ( )。一个使用'\0',另一个使用"\0",在两种情况下我都得到不同的输出:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
string test1 = "";
test1 += "\0";
cout << test1.size() << endl;
string test2 = "";
test2 += '\0';
cout << test2.size() << endl;
}
Run Code Online (Sandbox Code Playgroud)
我正在得到输出
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
string test1 = "";
test1 += "\0";
cout << test1.size() << endl;
string test2 = "";
test2 += '\0';
cout << test2.size() << endl;
}
Run Code Online (Sandbox Code Playgroud)
谁能解释一下为什么字符串被视为 …