我知道如何使用jscript检索exe的版本,但我找不到任何方法来检索"公司","内部名称"或"产品名称"等其他信息.
function version_of( file_name )
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f;
try {
f = fso.GetFile( file_name )
} catch( e ) {
throw new Error( e.number, "Error retrieving version of file ``" + file_name + "'': " + e.description );
}
var v = fso.GetFileVersion( f );
if ( !v ) {
throw new Error( 1, "File ``" + file_name + "'' has not got a version" );
}
return v;
}
WScript.Echo( version_of( "c:\\windows\\system32\\winver.exe" ) ); …Run Code Online (Sandbox Code Playgroud) #include <vector>
#include <iostream>
typedef struct {
unsigned short a;
unsigned short b;
unsigned long c;
}T;
int main(int,char**)
{
std::vector<T> v;
v.resize(256);
std::cout << "a=" << v[0].a << " b=" << v[0].b << " c=" << v[0].c << "\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
v[0].a(和b和c)将是什么?
我开始查看N4659工作草案,《 C ++编程语言标准》,其内容vector::resize如下:
26.3.11.3向量容量[vector.capacity](在第13节中)
void resize(size_type sz);效果:如果为
sz < size(),则删除size() - sz序列中的最后一个 元素。否则,将sz - size()默认插入的元素追加到序列中。
从那里,我需要知道默认插入的含义,然后得出:
26.2.1集装箱的一般要求[container.requirements.general] …
我有一个double序列(没有重复),我需要对它们进行排序.被填充vector,然后sort荷兰国际集团它的速度比insert荷兰国际集团的价值观set?
这个问题是否在不了解标准库的实现(并且不了解程序运行的硬件)的情况下是否可以回答,而只是提供了C++标准提供的信息?
#include <vector>
#include <set>
#include <algorithm>
#include <random>
#include <iostream>
std::uniform_real_distribution<double> unif(0,10000);
std::default_random_engine re;
int main()
{
std::vector< double > v;
std::set< double > s;
std::vector< double > r;
size_t sz = 10;
for(size_t i = 0; i < sz; i++) {
r.push_back( unif(re) );
}
for(size_t i = 0; i < sz; i++) {
v.push_back(r[i]);
}
std::sort(v.begin(),v.end());
for(size_t i = 0; i < sz; i++) {
s.insert(r[i]);
}
return …Run Code Online (Sandbox Code Playgroud) 我有一个像这样的字符串00:05:33.91,意思是5分33秒和91/100秒.
如何获得总秒数?在示例中,它是5*60+33+91/100 = 333.91秒.
我有一组2D点存储在p:
x <- c(0, 1, 2, 3, 4)
y <- c(0, 1, 2, 3, 4)
p <- cbind(x,y)
Run Code Online (Sandbox Code Playgroud)
我需要计算每个连续点之间的距离,我计算距离的函数是hypotenuse(实际上我的问题有点不同,因为我有一个经度列表,纬度值,我需要distVincentyEllipsoid从geosphere包中使用).
hypotenuse <- function(p1,p2)
{
sqrt((p1[1]-p2[1])^2+(p1[2]-p2[2])^2)
}
Run Code Online (Sandbox Code Playgroud)
我想使用,diff但在我看来,我不能传递给diff自定义"差异"功能的功能,所以我的解决方案到现在为止如下:
distances <- c()
for(i in 2:nrow(p))
{
distances <- c(distances,hypotenuse(p[i,],p[i-1,]))
}
Run Code Online (Sandbox Code Playgroud)
我读了一个类似于R中的diff的迭代和滞后函数的问题,但不仅仅是区别?我尝试以这种方式使用包中的rollapply函数zoo:
library(zoo)
rollapply(p,width=1,FUN=hypotenuse)
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
FUN错误(数据[posns],...):
缺少参数"p2",没有默认值
所以在我看来,FUN不能是二元函数.
是否可以使用该rollapply功能来解决我的问题?
我正在尝试执行类似/sf/answers/2075458451/ 的操作,但出现错误
错误:Aesthetics 必须为长度 1 或与数据 (2) 相同:xmin, xmax, ymin, ymax, x, y
“(2)”是什么意思?
涉及哪些“美学”?我已经aes在ggplot和aes中geom_rect,但我不知道如何解决这些问题的想法,我很害怕我永远不会掌握ggplot...
days<-rep(Sys.Date(),100)+seq(1,100)
v<-sin(as.numeric(days))
df<-data.frame(days=days,v=v)
shade <- data.frame(x1=c(as.Date('2017-10-15'),as.Date('2017-11-11')),
x2=c(as.Date('2017-10-20'),as.Date('2017-11-13')),
y1=c(-Inf,-Inf), y2=c(Inf,Inf))
library(ggplot2)
plot(ggplot(df,aes(x=days,y=v))
+geom_line()
+geom_rect(data=shade,
mapping=aes(xmin=x1, xmax=x2, ymin=y1, ymax=y2), color='grey', alpha=0.2)
+geom_point())
Run Code Online (Sandbox Code Playgroud) typedef std::tuple< int, double > Tuple;
Tuple t;
int a = std::get<0>(t);
double b = std::get<1>(t);
for( size_t i = 0; i < std::tuple_size<Tuple>::value; i++ ) {
std::tuple_element<i,Tuple>::type v = std::get<i>(t);// will not compile because i must be known at compile time
}
Run Code Online (Sandbox Code Playgroud)
我知道可以编写代码来实现std::get工作(参见例如迭代元组),是否可以开始std::tuple_element工作?
一些约束(它们可以放松):
没有可变参数模板,没有Boost
我需要用C++创建一个Windows应用程序,它只需显示一个TaskDialog(参见http://msdn.microsoft.com/en-us/library/windows/desktop/bb760540(v=vs.85).aspx).本TaskDialog应显示为参数从命令行传递文本.
我可以制作一个"Win32控制台应用程序"并打电话TaskDialog但我会看到控制台的黑色窗口.
我可以制作一个"Windows应用程序",只是TaskDialog在里面打电话WinMain,这个解决方案有什么问题吗?
还有其他想法吗?
这两个代码片段是否相同,即它们是否做同样的事情?
对于我从帮助了解sample他们应该做同样的事情,即两个s1和s2是一个随机的子集x.
第一个片段:
sz <- 5
x <- 1:10
s1 <- sample(x,size=sz,replace=F)
Run Code Online (Sandbox Code Playgroud)
第二个片段:
sz <- 5
x <- 1:10
s2 <- c()
idx <- sample(1:length(x),size=sz,replace=F)
for ( i in idx ) {
s2 <- c(s2,x[i])
}
Run Code Online (Sandbox Code Playgroud) 我有两组数据,我希望得到一个包含每组数据的直方图和频率多边形的图表.
我的数据框df如下:
'data.frame': 20000 obs. of 2 variables:
$ measure : num -0.566 0.321 0.125 1.353 -1.288 ...
$ processing: Factor w/ 2 levels "before","after": 1 1 1 1 1 1 1 1 1 1 ...
measure processing
1 -0.5656801 before
2 0.3210458 before
3 0.1252706 before
4 1.3532248 before
5 -1.2877305 before
6 0.3225545 before
Run Code Online (Sandbox Code Playgroud)
我的代码如下:
png("figure_%d.png")
set.seed(2014)
n <- 10000
before <- rnorm(n)
df_1 <- data.frame(measure=before)
df_1$processing <- factor("before")
after <- before-rnorm(n,mean=1,sd=0.1)
df_2 <- data.frame(measure=after)
df_2$processing …Run Code Online (Sandbox Code Playgroud) 我有这个代码,我想知道我是否可以更改它以避免使用lambda表达式:
#include <vector>
#include <algorithm>
#include <iterator>
class B
{
public:
B( double b ):b_(b){}
double b_;
};
class A
{
public:
double error( const B& b ) const {return a_-b.b_;};
double a_;
};
int main(int argc, char* argv[])
{
std::vector< B > bs;
std::vector< double > ds;
A a;
a.a_ = 10;
bs.push_back( B(1) );
bs.push_back( B(2) );
bs.push_back( B(3) );
std::transform( bs.begin(), bs.end(),
std::back_inserter( ds ),
[&a](const B& b){return a.error(b);} );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想保留std::transform但没有lambda.
c++ ×5
r ×5
ggplot2 ×2
aesthetics ×1
c++11 ×1
datetime ×1
javascript ×1
lambda ×1
performance ×1
scripting ×1
simulation ×1
sorting ×1
standards ×1
statistics ×1
struct ×1
taskdialog ×1
winapi ×1
windows ×1
winmain ×1
zoo ×1