试图获取总数 > 0 的列的名称。我已经尝试过
df[sapply(df, function(x) any(x > 0))]
Run Code Online (Sandbox Code Playgroud)
但这给了我实际的数值。然后我尝试了
names(df)[colSums(df)>0]
Run Code Online (Sandbox Code Playgroud)
但收到一个 NULL。这是我的 df 的示例,其中我期望输出“SRR960396”和“SRR960403”。
> dput(df)
structure(c(14, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0), dim = 4:3, dimnames = list(
c("27b1da20c7a5364614a540521d5e38c0", "bd60888ac07bff9651845c6f6aca4fa8",
"e7474b1fd688aa54814538b69a56d202", "85907e71eb899b7edce9bf8d23746413"
), c("SRR960396", "SRR960402", "SRR960403")))
Run Code Online (Sandbox Code Playgroud) 我需要将字符串从一个类传递到另一个类,但出现错误。
这是我想要从中传递参数的类的代码:
onTap: () {
String titleCompanyId = snapshot.data?.docs[index].id;
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) =>
const TitleCompanyScreen(false, snapshot.data?.docs[index].id),
),
);
},
Run Code Online (Sandbox Code Playgroud)
错误出现在我传递的第二个参数上(snapshot.data?.docs[index].id),这是错误:
无效的常量值。
该参数是来自 Cloud Firestore 的文档 ID。
这是我接收参数的代码:
class TitleCompanyScreen extends ConsumerStatefulWidget {
const TitleCompanyScreen([
this.isNewTitleCompany,
this.titleCompanyId,
Key? key,
]) : super(key: key);
final bool? isNewTitleCompany;
final String? titleCompanyId;
@override
ConsumerState<TitleCompanyScreen> createState() => _TitleCompanyScreenState();
}
Run Code Online (Sandbox Code Playgroud)
我如何传递这个参数?谢谢
更新:
这是我在第一个答案之后得到的。
onTap: () {
String? titleCompanyId = snapshot.data?.docs[index].id;
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) =>
const TitleCompanyScreen(false, titleCompanyId),
),
);
},
Run Code Online (Sandbox Code Playgroud)
现在,我在 titleCompanyId 参数上收到此错误:
Arguments …Run Code Online (Sandbox Code Playgroud) _mm256_mul_ps是“乘法打包单精度(32 位)浮点元素”的 Intel 内在函数。_mm256_mul_ph是“乘法打包半精度(16 位)浮点元素”的内在函数。
我可以_mm256_mul_ps使用 using 来调用use std::arch::x86_64::*;,例如
#[inline]
fn mul(v: __m256, w: __m256) -> __m256 {
unsafe { _mm256_mul_ps(v, w) }
}
Run Code Online (Sandbox Code Playgroud)
不过,似乎很难调用_mm256_mul_ph。可以调用_mm256_mul_phRust 吗?
我有一个任务,我需要将指针传递给我的函数并使用“write”将其显示在我的函数中。
#include <unistd.h>
#include <stdio.h>
void ft_ft(int *nbr){
//printf("%d\n", *nbr);
char c = *nbr;
write(1, &c, 1);
}
int main(){
int nbr = 42;
ft_ft(&nbr);
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我试图将 int 值转换为 char ,因为从参数中获取指针是行不通的。另一方面,这也不是,所以你能帮助我吗?
错误消息:
[正在运行] (((所在文件夹))) && gcc (((文件名)))... 输出:* [完成] 在 0.046 秒内退出,代码=0
所以它实际上运行了代码,但它不是我想要的输出,我错过了什么?
printf() 工作正常,但我无法让“write”工作。
提前致谢
如该屏幕截图所示,我有多种格式的文本及其应用的字体样式,并且我已经在每种字体的列表图块中开发了一种复制文本方法,但问题是当我复制文本时,它给我的是纯文本他们应用的字体样式文本,假设您应用了粗体文本,例如“ example_text ”,但是当您复制并粘贴它时,您将获得纯文本“ example_text”而不是应用的样式。
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:google_fonts/google_fonts.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({
super.key,
});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Font Styles Example',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const FontStylesScreen(),
);
}
}
class FontStylesScreen extends StatefulWidget {
const FontStylesScreen({Key? key});
@override
_FontStylesScreenState createState() => _FontStylesScreenState();
}
class _FontStylesScreenState extends State<FontStylesScreen> {
final TextEditingController _textController = TextEditingController();
List<String> _fontFamilies = [];
@override
void initState() …Run Code Online (Sandbox Code Playgroud) 此代码在 C++20 模式下使用 VS 2022 中的 MSVC 进行编译。它在 C++23 模式下失败。( /std:c++latest)
#include <memory>
struct A;
struct B {
B();
~B();
std::unique_ptr<A> ptr{nullptr};
};
int main(){
B b;
}
Run Code Online (Sandbox Code Playgroud)
当前版本的 GCC 和 clang 在 C++23 模式下接受此代码。
C++23 模式下的 MSVC:
#include <memory>
struct A;
struct B {
B();
~B();
std::unique_ptr<A> ptr{nullptr};
};
int main(){
B b;
}
Run Code Online (Sandbox Code Playgroud)
微软回答我(尚未公开),新行为是由于constexpr std::unique_ptrC++23 模式造成的,他们只是遵循这个标准。
这是正确的吗?GCC 和 clang 在 C++23 模式下接受此代码是错误的吗?
我将对这里发生的情况添加更多解释,因为一些评论表明这并不明显。
std::unique_ptr<A>这里调用了的构造函数。它不会调用不完整类型的构造函数A,因为它是用nullptr. 这部分对于 C++23 模式下的 …
我有一个静态回调成员函数,它通过静态内联指针调用非静态窗口过程成员函数。问题是,它最终调用了最后一个实例。这是一个演示问题核心的例子:
#include <iostream>
struct A {
static inline A* pThis;
int i;
A(int i) : i(i) {
pThis = this;
}
static void foo() {
std::cout << pThis->i << std::endl;
}
};
int main() {
A a1(1);
A a2(2);
a1.foo(); // prints 2 instead of 1
a2.foo(); // prints 2 as expected
return 0;
}
Run Code Online (Sandbox Code Playgroud)
请注意,我无法更改回调函数的签名,因此建议让 foo 接受参数是徒劳的。我该如何解决这个问题?
该应用程序可以在工作室和真实设备上经过测试的模拟器上稳定运行。当上传到 Google Play 的内部测试部分时,设备始终崩溃:
谷歌 Pixel 6 1080x2400 Android 12 (SDK 31) 8,192 MB arm64-v8a。
Google Play 控制台堆栈跟踪
Exception java.lang.NoSuchFieldError: No field Key of type Lkotlinx/coroutines/CoroutineExceptionHandler$Key; in class Lkotlinx/coroutines/CoroutineExceptionHandler; or its superclasses (declaration of 'kotlinx.coroutines.CoroutineExceptionHandler' appears in /data/app/~~KWhmPpaU6JtpmIAZBH3isw==/androidx.test.tools.crawler-P3SH8J3nls-tHnM5nwslZg==/base.apk)
at ua.at.tsvetkov.weather.ui.outfits.quick.QuickSelectionViewModel.<init> (QuickSelectionViewModel.kt:235)
at ua.at.tsvetkov.weather.DaggerAppWeather_HiltComponents_SingletonC$ViewModelCImpl$SwitchingProvider.get (DaggerAppWeather_HiltComponents_SingletonC.java:644)
at dagger.hilt.android.internal.lifecycle.HiltViewModelFactory$2.createViewModel (HiltViewModelFactory.java:133)
at dagger.hilt.android.internal.lifecycle.HiltViewModelFactory$2.create (HiltViewModelFactory.java:104)
at dagger.hilt.android.internal.lifecycle.HiltViewModelFactory.create (HiltViewModelFactory.java:171)
at androidx.lifecycle.ViewModelProvider.get (ViewModelProvider.kt:184)
at androidx.lifecycle.ViewModelProvider.get (ViewModelProvider.kt:150)
at androidx.lifecycle.ViewModelLazy.getValue (ViewModelLazy.kt:53)
at androidx.lifecycle.ViewModelLazy.getValue (ViewModelLazy.kt:35)
at ua.at.tsvetkov.weather.ui.outfits.quick.QuickSelectionFragment.getViewModel (QuickSelectionFragment.kt:55)
at ua.at.tsvetkov.weather.ui.outfits.quick.QuickSelectionFragment.onCreateView (QuickSelectionFragment.kt:62)
at androidx.fragment.app.Fragment.performCreateView (Fragment.java:3114)
at androidx.fragment.app.FragmentStateManager.createView (FragmentStateManager.java:557)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState (FragmentStateManager.java:272) …Run Code Online (Sandbox Code Playgroud) 我正在 Shiny 中进行一些复杂的计算,用户通过 ActionButton 启动。然而,我担心用户在短时间内多次向按钮发送垃圾邮件,这可能会带来大量不必要的计算。我尝试过使用debounce(),但它仍然记录所有按钮点击。这是一个代表:
library(shiny)
ui <- fluidPage(
actionButton("start", "Press me")
)
server <- function(input, output, session) {
new_number <- eventReactive(input$start, {
print("Button press registered!")
# sleep to imitate a long calculation
Sys.sleep(1)
runif(1, 1, 1000)
}) %>% debounce(millis = 3000)
observeEvent(new_number(),
print(new_number()))
}
shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)
尝试运行该应用程序并尽可能快地单击。
它显示该按钮被记录为被按下多次,每次都会停止该过程完整的时间。
输出值仅打印一次,而不是单击按钮的次数,我怀疑这可能有用。但我不知道如何注册,例如,每秒最多按下一个按钮。
C++ 函数不能用作作为函子或谓词传递的类型的原因是什么?
函子的主要目的之一是充当函数,以便可以以函数方式调用它。好吧,它可以做更多的事情(有状态等),但是为什么我们不能使用函数而不是函子,因为函子的唯一目的是被调用?
好吧,应该构造对象,对于函子也是如此,但是如果我们看到函数已被传递,则可以跳过这一步。
在下面的代码中,函数和函子的行为类似,直到我尝试将它们传递给 std::map。
#include <algorithm>
#include <map>
#include <ranges>
#include <span>
#include <vector>
bool std_span_less(const std::span<const unsigned int> lhs, const std::span<const unsigned int> rhs) {
return std::ranges::lexicographical_compare(lhs, rhs);
}
struct std_span_less_fn {
bool operator() (const std::span<const unsigned int> lhs, const std::span<const unsigned int> rhs) const {
return std::ranges::lexicographical_compare(lhs, rhs);
}
};
int main()
{
using fn_type = bool (*)(const std::span<const unsigned int> , const std::span<const unsigned int> );
std::vector<unsigned int> lexems = { 0, 1, …Run Code Online (Sandbox Code Playgroud) c++ ×3
dart ×2
flutter ×2
r ×2
android ×1
avx512 ×1
c ×1
c++20 ×1
c++23 ×1
callback ×1
class ×1
col ×1
intrinsics ×1
proguard ×1
rust ×1
shiny ×1
throttling ×1
timing ×1
unique-ptr ×1
visual-c++ ×1