小编nhe*_*shy的帖子

迭代并替换数组中的元素

我试图用"复制"数组中的"哈密瓜"替换"苹果"这个词.我现在正在做的不是抛出错误,但复制数组中没有发生任何变化.

#!/bin/bash

fruits=("Oranges" "Apples" "Bananas" "Grapes")
echo "Original list:"
echo "${fruits[@]}"

copy=("${fruits[@]}")

for i in ${copy[@]}
do
        if [[ copy[$i] == "Apples" ]]; then
                copy[$i]="Canteloupe"
        fi
done

echo "Copied list:"
echo "${copy[@]}"
Run Code Online (Sandbox Code Playgroud)

我的输出:

Original list:
Oranges Apples Bananas Grapes
Copied list:
Oranges Apples Bananas Grapes
Run Code Online (Sandbox Code Playgroud)

bash

9
推荐指数
2
解决办法
5123
查看次数

使用Catch C++进行单元测试会干扰我的main()

我是单元测试的新手,并决定将Catch框架用于c ++,因为它似乎很容易与其一个头文件集成.但是,我有一个多文件二进制搜索树程序(文件是:main.cpp,Tree.h,Tree.hxx,TreeUnitTests.cpp,catch.hpp).如果我在main.cpp中注释掉我的int main()函数,我只能运行单元测试.我知道它与我的TreeUnitTests.cpp中的'#define CATCH_CONFIG_MAIN'声明冲突,但如果我不包含该声明,我无法运行单元测试.每次我想运行单元测试时,如何在不必评论main()的情况下运行两者?

这是我正在使用的头文件:https: //raw.githubusercontent.com/philsquared/Catch/master/single_include/catch.hpp

我发现它的Catch教程并用作指南:https: //github.com/philsquared/Catch/blob/master/docs/tutorial.md

一些相关文件供参考: main.cpp:

//******************* ASSN 01 QUESTION 02 **********************

#include "Tree.h"
#include <iostream>

using namespace std;

/*
int main()
{

    //creating tree with "5" as root
    Tree<int> tree(5);
    tree.insert(2);
    tree.insert(88);
    tree.inorder();
    cout << "does tree contain 2?: ";
    cout << tree.find(2) << endl;
    cout << "does tree contain 3?: ";
    cout << tree.find(3) << endl;

    Tree<int> copytree(tree);
    cout << "copied original tree..." << endl;
    copytree.preorder();
    cout << "after deletion …
Run Code Online (Sandbox Code Playgroud)

c++ unit-testing catch-unit-test

8
推荐指数
2
解决办法
3004
查看次数

试图打印数组的一个元素以某种方式打印所有元素

我正在编写一个脚本来从文件中获取整数列表aryData,对它们进行排序,打印排序的数组,最高值和最低值.

aryData

89 62 11 75 8 33 95 4
Run Code Online (Sandbox Code Playgroud)

但是,当打印最高或最低值时,将打印阵列的所有元素.

这是我的Perl代码

#!/bin/perl

use strict;
use warnings;

print "Enter filename to be sorted: ";
my $filename = <STDIN>;
chomp( $filename );

open( INFILE, "<$filename" );
my @nums = <INFILE>;
close INFILE;

my @sorted = sort { $a cmp $b } @nums;

open my $outfile, '>', "HighLow.txt";

print $outfile "Sorted numbers: @sorted";
print $outfile "Smallest number: $sorted[0] \n";
print $outfile "Largest number: $sorted[-1] \n";
Run Code Online (Sandbox Code Playgroud)

产量 HighLow.txt

Sorted numbers: 89 …
Run Code Online (Sandbox Code Playgroud)

arrays perl

2
推荐指数
1
解决办法
516
查看次数

将char变量转换为字符串变量的C++返回ASCII值

我的功能看起来像这样:

string toOriginal(char c)
{
    if (c == '$')
        return "car";
    else if (c == '#')
        return "cdr";
    else if (c == '@')
        return "cons";
    else
    {
        string t = to_string(c);
        return t;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我的角色c包含类似'r'的值时,我希望它将"r"作为字符串返回.但是,它返回一个字符串"114".

c++

1
推荐指数
1
解决办法
1441
查看次数

标签 统计

c++ ×2

arrays ×1

bash ×1

catch-unit-test ×1

perl ×1

unit-testing ×1