我有以下数组:
(
[25] => 1
[26] => 3
[10] => 2
[24] => 1
)
Run Code Online (Sandbox Code Playgroud)
它是使用array_count_values()PHP中的函数创建的.
在array_count_values之前,实际原始数组是这样的......
Array
(
[0] => 26
[1] =>
[2] => 18
[3] => 28
[4] => 22
[5] => 21
[6] => 26
[7] =>
[8] =>
[9] =>
[10] =>
[11] =>
[12] =>
[13] =>
[14] =>
[15] =>
[16] =>
[17] =>
[18] =>
[19] =>
[20] =>
)
Run Code Online (Sandbox Code Playgroud)
这些是年龄,所以我如何将这些分组到年龄组?
让我们说我想要以下年龄组: <= 18 19-26 27-32 > 32
它应该看起来:
( …Run Code Online (Sandbox Code Playgroud) 我的问题的答案可能存在于SO,但我老老实实地看起来很难找到它.我得到的最接近的是这个问答,但我无法在我的机器上重现他们的结果(OSX 10.7.5,使用bash).
这是减少到其本质问题:我无法sed解释\xnn(例如\x41用于A)为十六进制字符.特别让我疯狂的是:
echo -e '\x41'
Run Code Online (Sandbox Code Playgroud)
结果A- 所以操作系统及其功能理解我的十六进制代码......
echo -e '\x41' | sed 's/A/B/'
Run Code Online (Sandbox Code Playgroud)
结果B- 正如所料,因为十六进制代码转换为A之前sed看到它
但
echo A | sed 's/\x41/B/'
Run Code Online (Sandbox Code Playgroud)
结果A- 我原以为B
我尝试过类似的东西
echo A | LANG='C' sed 's/\x41/B/'
Run Code Online (Sandbox Code Playgroud)
结果是 A
echo A | LANG='' sed 's/\x41/B/'
Run Code Online (Sandbox Code Playgroud)
同上...
echo A | sed 's/[\x41]/B/'
Run Code Online (Sandbox Code Playgroud)
结果是 A
但...
echo A | sed 's/[\x41-\x41]/B/'
Run Code Online (Sandbox Code Playgroud)
结果B???
我完全是傻瓜吗?或者真的有什么奇怪的 …
我有以下(表面上看,简单)任务:
使用VBA将电子表格中多个列的值复制到二维数组中.
为了让生活更有趣,列不是相邻的,但它们的长度都相同.显然,人们可以依次循环遍历每个元素,但这似乎非常不优雅.我希望有一个更紧凑的解决方案 - 但我很难找到它.
以下是我会考虑"简单方法"的一些尝试 - 为简单起见,我将范围放在A1:A5, D1:D5- 两个范围内总共10个单元格.
Private Sub testIt()
Dim r1, r2, ra, rd, rad
Dim valString, valUnion, valBlock
Set r1 = Range("A1:A5")
Set r2 = Range("D1:D5")
valString = Range("A1:A5,D1:D5").Value
valUnion = Union(r1, r2).Value
valBlock = Range("A1:D5").Value
End Sub
Run Code Online (Sandbox Code Playgroud)
当我查看每个变量时,前两个具有维度,(1 To 5, 1 To 1)而最后一个具有维度(1 To 5, 1 To 4).我期待(1 To 5, 1 To 2)前两个,但事实并非如此.
如果我可以在一列中循环数据,并将一列中的所有值分配给数组中的一列,我会很高兴 - 但我也无法弄清楚如何做到这一点.就像是
cNames = Array("A", "D")
ci = 1
For Each c …Run Code Online (Sandbox Code Playgroud) 我有一些关于反转空终止C字符串的概念性问题,以及关于指针性质的澄清问题.
输入可能是
char arr[] = "opal";
Run Code Online (Sandbox Code Playgroud)
和代码:
void reverse(char *str) { /* does *str = opal or does *str = o since the pointer str is type char? */
char* end = str; /* what is the difference between char* end and char *end? and is *end pointing to opal now? */
char tmp;
if (str) { /* if str isn't null? */
while (*end)
++end;
}
--end; /* end pointer points to l now */
while (str < end) …Run Code Online (Sandbox Code Playgroud) 我为Excel 2010创建了一个自定义的Fluent Ribbon界面,其中包含一个下拉列表.相关的XML代码(简化):
<dropDown id="chooseFilter" showLabel="true" label="Filter" onAction="filterSelected" >
<item id="Filter1" label="Filter 1" />
<item id="Filter2" label="Filter 2" />
</dropDown>
Run Code Online (Sandbox Code Playgroud)
加载功能区时,未选择任何值 - 下拉列表显示为空.

我希望默认情况下选择第一个项目 - 但找不到任何描述如何操作的文档.我查看了控件的MSDN文档,但它没有涵盖这种情况.我尝试了各种"HTML-like"语句的排列,但它们都被自定义UI编辑器拒绝为无效.我试过的事情的例子:
<item id="Filter1" label="Filter 1" selected="selected" />
Run Code Online (Sandbox Code Playgroud)
错误信息: The 'selected' attribute is not declared
我试过其他属性,如selectedItem,value和selected在<dropDown .../>declaraction,但似乎没有任何工作.
如果我只有正确的文档,这将是微不足道的,但即使是功能区自定义的完整Microsoft"文档"(在这里找到的是关于这个主题的沉默.
我甚至试图查看位于http://schemas.microsoft.com/office/2006/01/customui的架构是否"人类可读",但当我尝试在浏览器中打开它时,我被告知它是不可用.也许有一招......
所以我转向这个论坛的综合智慧.从我的Q/A比率可以看出,我不经常这样做...
如何修改我的XML以便功能区打开,并在下拉控件中选择任意项?我会满足于它是第一项 - 但"我选择在我的XML中声明的任何项目"都会更好.
我正在为此寻找一个XML解决方案 - 宁愿不必添加onLoadVBA代码或其他VBA技巧.它有多难,对吧?......
我有一个人为的例子来演示特定功能的请求 - 我想知道是否有人有一个聪明的技巧来做到这一点.
以下是一个经常遇到的问题:
"打印一系列数字;在它们之间打印一个空格,并在末尾打印回车(但没有空格).
显而易见的解决方案是使最后(或第一)语句成为特例.我正在考虑如何使这更有效/更紧凑.
蛮力:
for(ii=0; ii<4; ii++) {
printf("%d", ii);
if(ii<3) printf(" "); else printf("\n");
}
Run Code Online (Sandbox Code Playgroud)
请注意,这涉及对条件的两次评估.
展开:
for(ii=0; ii<3; ii++) {
printf("%d ", ii):
}
printf("%d\n", ii);
Run Code Online (Sandbox Code Playgroud)
利用ii我们离开循环时最后一次增加的事实.
我想要的功能
ii = 0;
while(1) {
printf("%d", ii);
ii++;
if(ii<3) printf(" ");
else {printf("\n"); break;}
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有可能在for声明中完成这项工作.我修改了一下,发现以下工作(有点令我惊讶......它确实需要括号,而且它?:和,运算符之间很难读- 请参阅http://codepad.org/wFa2YwCg):
for(ii=0; (ii<3)?(printf("%d ",ii),1):(printf("%d\n",ii),0);ii++);
Run Code Online (Sandbox Code Playgroud)
我基本上把evaluate this conditionfor循环的一部分变成了一个execute this statement for most of the loop, and this …
我正在寻找一种在实时日志文件上拖尾的好方法,并显示具有相同日期/时间的行数.
目前这是有效的:
tail -F /var/logs/request.log | [cut the date-time] | uniq -c
Run Code Online (Sandbox Code Playgroud)
但性能不够好.延迟超过一分钟,并且每次以少量线路输出.
任何的想法?
我有一个大数组(1024x1024x360),我想将它保存到mat文件.我试试的时候
A=rand(1024,1024,360)
save('filename.mat','A');
Run Code Online (Sandbox Code Playgroud)
变量是在工作区中创建的,文件正在创建,但它仍然是空的......我在Win7-64机器上使用Matlab 2012a,为什么会这样?
如何在FORTRAN中实现二维插值,其中数据如下所示.x和y是两个坐标,z是取决于它们的值,x是均匀间隔的,但是y不是均匀间隔的,并且对应于x的均匀值的y的最大值保持增加.不会失去太多准确性 -
谢谢SM
x y z
-----------
0 0 -
0 0.014 -
0 0.02 -
.....
....
0.1 0 -
0.1 0.02 -
0.1 0.03 -
.......
.....
1.0 0 -
1.0 0.05 -
1.0 0.08 -
.......
.......
Run Code Online (Sandbox Code Playgroud) 需要有关 Linux Bash 脚本的帮助。本质上,脚本在运行时会要求用户提供三组数字,然后计算输入的数字并找到平均值。
#!/bin/bash
echo "Enter a number: "
read a
while [ "$a" = $ ]; do
echo "Enter a second set of numbers: "
read b
b=$
if [ b=$ ]
Run Code Online (Sandbox Code Playgroud)
我这样做是错误的吗?