auto foo = "You're using g++!";
auto compiler_detector = [foo](auto foo) { std::puts(foo); };
compiler_detector("You're using clang++!");
Run Code Online (Sandbox Code Playgroud)
clang ++ 3.6.0和更新的打印出"你正在使用clang ++!" 并警告捕获 foo
未被使用.
g ++ 4.9.0和更新版本打印出"你正在使用g ++!" 并警告该参数 foo
未被使用.
什么编译器更准确地遵循C++标准?
我有一个名为的脚本requests.py
导入请求包.该脚本无法访问包中的属性,也无法导入它们.为什么这不起作用,我该如何解决?
以下代码提出了一个问题AttributeError
.
import requests
res = requests.get('http://www.google.ca')
print(res)
Run Code Online (Sandbox Code Playgroud)
Traceback (most recent call last):
File "/Users/me/dev/rough/requests.py", line 1, in <module>
import requests
File "/Users/me/dev/rough/requests.py", line 3, in <module>
requests.get('http://www.google.ca')
AttributeError: module 'requests' has no attribute 'get'
Run Code Online (Sandbox Code Playgroud)
以下代码提出了一个问题ImportError
.
from requests import get
res = get('http://www.google.ca')
print(res)
Run Code Online (Sandbox Code Playgroud)
Traceback (most recent call last):
File "requests.py", line 1, in <module>
from requests import get
File "/Users/me/dev/rough/requests.py", line 1, in <module>
from requests import get
ImportError: cannot import name 'get' …
Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的数据框:
#df
ID DRUG FED AUC0t Tmax Cmax
1 1 0 100 5 20
2 1 1 200 6 25
3 0 1 NA 2 30
4 0 0 150 6 65
Run Code Online (Sandbox Code Playgroud)
答案等等.我想总结药物DRUG
和FED状态的AUC,Tmax和Cmax的一些统计数据FED
.我用dplyr.例如:对于AUC:
CI90lo <- function(x) quantile(x, probs=0.05, na.rm=TRUE)
CI90hi <- function(x) quantile(x, probs=0.95, na.rm=TRUE)
summary <- df %>%
group_by(DRUG,FED) %>%
summarize(mean=mean(AUC0t, na.rm=TRUE),
low = CI90lo(AUC0t),
high= CI90hi(AUC0t),
min=min(AUC0t, na.rm=TRUE),
max=max(AUC0t,na.rm=TRUE),
sd= sd(AUC0t, na.rm=TRUE))
Run Code Online (Sandbox Code Playgroud)
但是,输出不按DRUG和FED分组.它只给出一行包含DRUG和FED中未分面的统计数据.
知道为什么吗?我怎样才能让它做正确的事情?
我在Eloquent Javascript(第3章)中学习了变量阴影这个术语,但我试图理解这个概念的一个精确的基本例子.
这是阴影的一个例子吗?
var currencySymbol = "$";
function showMoney(amount) {
var currencySymbol = "€";
document.write(currencySymbol + amount);
}
showMoney("100");?
Run Code Online (Sandbox Code Playgroud) 我正在阅读我的Deitel,Java How to Program一书,并且遇到了阴影这个词.如果允许阴影,Java类中的情况或用途是什么?
例:
public class Foo {
int x = 5;
public void useField() {
System.out.println(this.x);
}
public void useLocal() {
int x = 10;
System.out.println(x);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找以下行为的解释:
这些是类:
package a;
public class A {
void m() { System.out.println("A"); }
}
// ------
package b;
import a.A;
public class B extends A {
void m() { System.out.println("B"); }
}
// ------
package c;
import b.B;
public class C extends B {
void m() { System.out.println("C"); }
}
// ------
package a;
import c.C;
public class D extends C {
void m() { System.out.println("D"); }
}
// ------
package b;
import a.D;
public class E …
Run Code Online (Sandbox Code Playgroud) int main() {
int j = 0;
int i = 0;
for (j = 0; j < 5; j++) {
printf("Iteration %d : %d ", j + 1, i);
int i;
printf("%d", i);
i = 5;
printf("\n");
}
}
Run Code Online (Sandbox Code Playgroud)
上面的代码生成以下输出:
Iteration 1 : 0 0
Iteration 2 : 0 5
Iteration 3 : 0 5
Iteration 4 : 0 5
Iteration 5 : 0 5
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么printf
迭代2,3,4,5中的第二个值是5.
我为什么第一个值在每个迭代是0的理解是,范围i
在for
环是局部的,但只要我们进入一个新的迭代的破坏i
在被宣布for
循环.
但我无法弄清楚为什么这个值在第二个时变为5 printf
.
以下类有一个名为的内部类Entry
.此代码不会在Java 8中编译,因为编译器假定Entry
双花括号初始值设定项中的引用是类型Map.Entry
而不是Scope.Entry
.这段代码在JDK的先前版本(至少6和7)中编译,但在JDK 8中被破坏.我的问题是"为什么?" Map.Entry
未在此类中导入,因此编译器没有理由假设该值是类型Map.Entry
.是否有一些隐含的范围被引入或匿名类的东西?
错误:
scope/Scope.java:23: error: incompatible types: scope.Scope.Entry cannot be converted to java.util.Map.Entry for (final Entry entry : entries) {
scope/Scope.java:22: error: cannot find symbol put(entry.getName(), entry);
Run Code Online (Sandbox Code Playgroud)
示例代码:
package scope;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
public class Scope {
public static class Entry<T> {
public String getName() {
return "Scope";
}
}
public static void main(String[] args) {
final Set<Entry> entries = new HashSet<>();
new HashMap<String, …
Run Code Online (Sandbox Code Playgroud) 我不明白以下代码是如何工作的:
#include "stdio.h"
int main(void) {
int i = 3;
while(i--) {
static int i = 100;
i--,
printf("%d\n", i);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用Clang或GCC编译的代码打印以下输出:
99
98
97
Run Code Online (Sandbox Code Playgroud)
有人能解释一下这里发生了什么吗?看起来在一条指令中实现了两次操作并且不止一次.是不确定的行为?我在C++中观察到相同的行为.
shadowing ×10
java ×3
c ×2
c++ ×2
scope ×2
c# ×1
c++11 ×1
dplyr ×1
exception ×1
inheritance ×1
java-8 ×1
javascript ×1
lambda ×1
loops ×1
overriding ×1
plyr ×1
polymorphism ×1
python ×1
r ×1
static ×1