我试图用"复制"数组中的"哈密瓜"替换"苹果"这个词.我现在正在做的不是抛出错误,但复制数组中没有发生任何变化.
#!/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) 我是单元测试的新手,并决定将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) 我正在编写一个脚本来从文件中获取整数列表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.txtSorted numbers: 89 …Run Code Online (Sandbox Code Playgroud) 我的功能看起来像这样:
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".