我正在尝试创建一个新变量,它将使用动态名称的其他变量作为其值.这是我想要做的:
我有一个带有两个值的System.Array:
$Years = 2015, 2016
Run Code Online (Sandbox Code Playgroud)
另一个变量$ Transactions包含各种事务的列表.
我试图通过以下方式使用每个$ Years值:
ForEach($Year in $Years){
New-Variable -Name "Transactions_$Year" -Value $Transactions | Where {$_.Date -like "*.$Year"
Run Code Online (Sandbox Code Playgroud)
现在我想做的事情(在同一个ForEach循环中)是在我创建另一个新变量时使用$ Transactions_ $ Year值,如下所示:
New-Variable -Name "Income_$Year" -Value $Transactions_$Year | Where {$_.Amount -NotLike "-*"} | Measure-Object Amount -Sum | Select -ExpandProperty Sum
}
Run Code Online (Sandbox Code Playgroud)
这可能吗,或者您有什么其他方法可以实现这一目标吗?
我很难理解指针,特别是函数指针,我希望有人可以给我一个关于它们究竟是什么以及它们应该如何在程序中使用的概述.C++中的代码块将特别受到重视.
谢谢.
我有一个将被重复调用的绘制方法(每帧...).在这个方法中,我有一些局部定义的变量(大约20个).我正在考虑将这些放在一个结构中,并将指针作为参数传递给该方法.这是希望间接操作比将变量放在堆栈上更快.
总的来说,这里有合理的性能差异吗?
Bash脚本用于从具有未知列的csv创建多个数组.
我正在尝试编写一个脚本来比较具有相似列的两个csv文件.我需要它来从其他csv找到匹配列并比较任何差异.踢球者是我希望脚本是动态的,允许输入任意数量的列,它仍然能够运行.我以为我有一个很好的计划来解决这个问题,但事实证明我遇到了语法错误.这是我需要比较的csv示例.
IP address, Notes, Nmap-SSH, Nmap-SMTP, Nmap-HTTP, Nmap-HTTPS,
10.0.0.1, , open, closed, open, open,
10.0.0.2, , closed, open, closed, closed,
Run Code Online (Sandbox Code Playgroud)
当我读取csv文件时,我打算寻找"IF列==打开;然后;用IP地址填充此列的数组"这将在这个场景中给出了4个列表,其中包含正在侦听所述端口的IP.然后,我可以将其与我的安全设备配置进行比较,以确保它已正确配置.最后,对于我来说,这就是我认为可以完成创建数组以供我稍后搜索的内容.但是当我尝试在数组名称中使用变量时,我遇到了麻烦.我的语法可以纠正,还是只有更好的方法来做这种事情?
#!/bin/bash
#
#
# This script compares config_cleaned_<ip>.txt output against ext_web_env.csv and outputs the differences
#
#
# Read from ext_web_env.csv file and create Array
#
FILENAME=./tmp/ext_web_env.csv
#
index=0
#
while read line
do
# How many columns are in the .csv?
varEnvCol=$(echo $line | awk -F, '{print NF}')
echo "columns = $varEnvCol"
# While loop to create …
Run Code Online (Sandbox Code Playgroud) 我一直试图找出我在C中分配和使用多维动态分配数组的问题.我真的很感激任何帮助.
我尝试了两种方法.首先:
cdr = (double ***) malloc(NUM_REGIONS * sizeof(double **));
for(i=0; i<NUM_REGIONS; i++){
cdr[i] = (double **) malloc(numRatings * sizeof(double *));
for(j=0; j<numRatings; j++){
cdr[i][j] = (double *) malloc(remQuarters * sizeof(double));
}
}
Run Code Online (Sandbox Code Playgroud)
第二个:
tempPtr1 = (double *) malloc(NUM_REGIONS * numRatings * remQuarters * sizeof(double) );
tempPtr2 = (double **) malloc (NUM_REGIONS * numRatings * sizeof(double *));
cdr = (double ***) malloc(NUM_REGIONS * sizeof(double **));
for(i=0; i< NUM_REGIONS; i++){
cdr[i] = tempPtr2 + i;
for(j=0; j < numRatings; j++) cdr[i][j] …
Run Code Online (Sandbox Code Playgroud) 我正在使用目标C开发一个iPhone应用程序.我有一个类A,它创建了一个名为"list"的NSMutableArray指针.但是,在A类中,我从不创建一个指向它的对象.相反,我在类B中调用类方法,从sqlite数据库中获取一些数据,并在那里填充NSMutableArray对象.我希望能够通过将它作为参数传递给方法,将类A中的指针设置为指向在B类方法中创建的NSMutableArray对象.我不能通过返回数组来做到这一点,因为我想返回sqlite结果.
我想知道我做得对吗?我还没有编写完整的方法(当它完成时它会很长),但是我想知道在开始其余部分之前我是否正确地执行了指针.
//ClassA.m
//...
NSMutableArray *list;
[ClassB populateArrayFromSqlite:&list];
//Now do stuff with "list", which should point to the array created in populateArrayFromSqlite
//...
//ClassB.m
+(int)populateArrayFromSqlite:(NSMutableArray**)ar {
NSMutableArray *array = [[NSMutableArray alloc] init];
//Here there will be code that populates the array using sqlite (once I write it)
//And then I need to set the "list" pointer in ClassA.m to point to this array
ar = &array; //Is this how?
return resultFromSqlite;
}
Run Code Online (Sandbox Code Playgroud)
我做对了吗?或者我不明白什么?我想这个指向指针的东西只是没有点击我.在阅读了几个关于指针的一般来源之后,我怀疑这是我怎么做的,但是我的一部分不明白为什么ar参数不能只是一个常规指针(而不是一个指向指针的指针) .
我有以下脚本.
#!/bin/bash
d5=me
d6=you
d7=re
for i in {5..7}
do
echo $"d$i"
done
Run Code Online (Sandbox Code Playgroud)
打印出
d5
d6
d7
我期待打印
我
你
重新
在分配然后尝试访问指针指针数组时:
void tester(char ***p)
{
int i;
char **pp;
pp = *p;
pp = calloc(10, sizeof(*pp));
for (i = 0; i < 10; i++)
printf("%d = %p\n", i, pp[i]);
*p = pp;
}
void tester_broken(char ***p)
{
int i;
*p = calloc(10, sizeof(**p));
for (i = 0; i < 10; i++)
printf("%d = %p\n", i, *p[i]);
}
int main(void)
{
char **a;
tester(&a);
tester_broken(&a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么其中一个工作和其他seg故障?
HOST_NAME_="localhost:8080"
HOST_NAME_stg="stg.com:8080"
HOST_NAME_qa="qa.com:8080"
HOST_NAME=${!"HOST_NAME_$1"}
echo -n ${HOST_NAME}
Run Code Online (Sandbox Code Playgroud)
我得到错误替换错误.但是如果传递的参数是stg,我想打印stg.com:8080.我该怎么做
基本上我正在接受用户输入并使用它从列表中删除,刚刚抛出此错误.这个代码在一个小时前就已经完成了,所以我不知道为什么Visual Studio现在正在讨论这个问题.
char courseName[100];
scanf("%s", courseName);
deletefromlist(&list, &courseName);
Run Code Online (Sandbox Code Playgroud)
deletefrom
list函数(Courselist * self, char * data)
作为参数.
我怎样才能纠正这个错误,并在将来避免它?干杯!
indirection ×10
c ×5
pointers ×4
arrays ×2
bash ×2
c++ ×1
char ×1
eval ×1
objective-c ×1
powershell ×1
shell ×1
stack ×1
unix ×1
variables ×1