我正在使用Android Studio,我写这个:
List<Button> buttons = new ArrayList<Button>();
Run Code Online (Sandbox Code Playgroud)
我有这样的信息:
显式类型参数Button应替换为<>
我好奇,为什么用钻石代替呢?
List<Button> buttons = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
编辑:
我完全不同意副本!之前我看到了那个答案,它将显式参数与无参数进行比较,而我将显式参数与隐式参数进行比较!
我正在试图弄清楚XMPP是如何工作的(一般是协议中的初学者),我想设置一个服务器.
到目前为止,我看到了3个主要挑战者:
我检查了一些网站和维基百科,但我看不出有关所有这些的利弊.
我在哪里可以找到一些可以理解的信息?
PS:如果上下文在某种程度上很重要,我想在我的个人树莓派上设置我的服务器(所以处理能力不是那么大),我的最终目标是使用谷歌云消息传递将XMPP用于一个小的Android应用程序
我试图通过使用该suppressWarnings()功能来抑制警告.
令人惊讶的是,它在正常使用时会删除警告,但在使用管道%>%操作符时却无法执行此操作.
这是一些示例代码:
library(magrittr)
c("1", "2", "ABC") %>% as.numeric()
# [1] 1 2 NA
# Warning message:
# In function_list[[k]](value) : NAs introduced by coercion
c("1", "2", "ABC") %>% as.numeric() %>% suppressWarnings
# [1] 1 2 NA
# Warning message:
# In function_list[[i]](value) : NAs introduced by coercion
suppressWarnings(c("1", "2", "ABC") %>% as.numeric())
# [1] 1 2 NA
Run Code Online (Sandbox Code Playgroud)
为什么它适用于括号而不适用于管道操作符?我应该使用特定的语法来使其工作吗?
我遇到了以R为基数的意外行为。
我想以其同名作为向量来检索数据框的第一行,并且这种通用方法在大多数情况下都可以完美地工作。
df = data.frame(A=c(12,13), B=c(24,25))
unlist(df[1,]) #class=numeric
# A B
# 12 24
Run Code Online (Sandbox Code Playgroud)
但是,当数据帧仅由一列组成时,结果将强制为一个未命名向量:
df = data.frame(A=c(12,13))
unlist(df[1,]) #class=numeric too
# 12
Run Code Online (Sandbox Code Playgroud)
第二种情况如何保留名称?
我正在使用 GitHub Actions 测试 R 包,它在 Windows 和 Linux 上成功。
但是,它在 Mac OS 上失败,正如您在日志中看到的那样:
Warning in grSoftVersion() :
unable to load shared object '/Library/Frameworks/R.framework/Resources/modules//R_X11.so':
dlopen(/Library/Frameworks/R.framework/Resources/modules//R_X11.so, 6): Library not loaded: /opt/X11/lib/libSM.6.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/4.0/Resources/modules/R_X11.so
Reason: image not found
Warning in cairoVersion() :
unable to load shared object '/Library/Frameworks/R.framework/Resources/library/grDevices/libs//cairo.so':
dlopen(/Library/Frameworks/R.framework/Resources/library/grDevices/libs//cairo.so, 6): Library not loaded: /opt/X11/lib/libXrender.1.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/4.0/Resources/library/grDevices/libs/cairo.so
Reason: image not found
Warning in png(filename = file, width = width, height = height, units = "in", :
failed to load …Run Code Online (Sandbox Code Playgroud) 我的活动在 linearLayout(R.id.liste,在 scrollView 内)中有一些片段,需要一些时间才能显示。我将数组的大小减少到 50,但最初是 350。每个片段都是独立的,因为我需要它们响应单击并弹出对话框。
这是代码:
long start= System.currentTimeMillis();
for (Item item : dao.getList(triKey, start, end)) {
ItemFragment fragment = ItemFragment.newInstance(item);
FragmentTransaction fragTransaction = fragMan.beginTransaction();
fragTransaction.add(R.id.liste, fragment);
fragTransaction.commit();
}
long time = System.currentTimeMillis()-start;
Run Code Online (Sandbox Code Playgroud)
我想显示一个圆形进度条并在显示所有片段时将其设置为 Gone,但 Activity 没有 onViewCreated() 方法,有什么解决方法吗?
如果我覆盖 Activity.onCreateView() 并使用 System.currentTimeMillis(),我发现在 Nexus 4 上显示 50 个片段需要 7.5 秒(350 个片段需要 20 秒)。由于每个片段只包含 5 个 TextViews 和 1 个 ProgressBar 并且需要 10-15 毫秒来创建它的视图,我很惊讶它需要这么长时间,为什么添加片段比绘制它花费的时间多近 6 倍?
我不知道您需要回答哪一段代码,当然可以随时提问!
非常感谢您的帮助!
我的 symfony3 登录页面默认重定向到主页,如我的security.yml文件中所述。
但是,如果用户还没有完成它,我希望它重定向到我的“编辑个人资料”页面。在任何其他表单中,我都会在控制器中进行此操作,但由于$form->handleRequest($user)登录表单中没有,因此我没有$user要测试的变量。
有很多关于如何根据角色重定向用户的 SO 主题,文档讲述了从表单的操作字段或内重定向的内容security.yml,但不是我正在寻找的任何主题。
如何根据条件重定向?
注意:由于某些原因,我还不能使用 FOSUserBundle :-(
好奇心问题在这里。
我使用了很多对话框构建器,大多数情况下,我的否定取消按钮除了关闭对话框外什么也不做。我在网上随处可见的代码是这样的:
builder.setNegativeButton(
"cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}
);
Run Code Online (Sandbox Code Playgroud)
我碰巧发现这段代码做的完全一样:
builder.setNegativeButton("cancel", null);
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:这是一个不习惯手动关闭对话框的坏习惯吗?如果是,为什么呢?
我经常使用列表列表将函数(通常是模型调用)应用于参数网格。
这是一个paste最终功能的示例:
library(tidyverse) #purrr
a=c("A", "B", "C") %>% set_names %>% map(function(x){
c("m0", "m1") %>% set_names %>% map(function(y){
c("absolute", "relative") %>% set_names %>% map(function(z){
paste(x,y,z)
})
})
})
a$A$m0$absolute #exact expected output
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种通过更简单的调用获得完全相同结果的方法,可能是使用crossorexpand.grid和pmapor at_depth。
我用pmap+得到了一些有趣的东西,expand.grid但它扁平化了结构并删除了名称:
b=expand.grid(variable=c("A", "B", "C"), model=c("m0", "m1"), type=c("absolute", "relative"))
a=b %>% pmap(~{paste(..1,..2,..3)}) #a simple list of length 12
Run Code Online (Sandbox Code Playgroud)
在最好的情况下,该函数甚至可以variable, model, type在 map 调用中使用名称 ( ) (而不是..1,..2,..3for pmap)。
有没有办法得到这个?
我的包中有一个功能应该谨慎使用。
用户应该意识到这一点,但如果他/她认为情况正常,那么每次调用该函数时都会显示警告。
我经常看到只显示一次的警告。调试它们非常痛苦,所以我找不到可重现的示例(如果有的话,我会添加一个)但它们显示特定的警告消息,然后是rlang信息:
此警告每个会话显示一次
有很多帮助想要调试这些消息(例如这里,这里,或者这里,只是谷歌“r 这个警告每个会话显示一次”)
我认为该软件包lifecyle经常使用那些进行软弃用,但我无法在lifecycle:::lifecycle_build_message.
我怎样才能在我的包裹中抛出这样的警告?
编辑:
这是一个可重现的示例。您必须重新启动 R 会话才能再次显示。如您所见,options(warn=2)没有影响。
options(warn=2)
xx=c("Sepal.Width")
tidyselect::vars_select(names(iris), xx)
Run Code Online (Sandbox Code Playgroud)