我在将C++数据结构转换为Scala时遇到问题.Scala与C++完全不同,但我喜欢它.我在C++中有以下代码片段:
struct Output
{
double point;
double solution[6];
};
struct Coeff
{
double rcont1[6];
double rcont2[6];
double rcont3[6];
double rcont4[6];
double rcont5[6];
double rcont6[6];
};
std::list<Output> output;
std::list<Coeff> coeff;
Run Code Online (Sandbox Code Playgroud)
我现在用数据填充while循环列表
while(n<nmax) {
if step successfull
Output out;
out.point = some values;
out.solution[0] = some value;
output.push_back(out);
}
Run Code Online (Sandbox Code Playgroud)
我尝试在Scala中创建一个简单的类来保存数据.
class Output
{
var point: Double
var solution: Array[Double] = new Array(6)
}
Run Code Online (Sandbox Code Playgroud)
但这并不起作用,因为点没有初始化.有没有解决的办法?我只想定义变量但不要初始化它.
另一件快事.我正在寻找与stl :: lower_bound等效的东西.
找到在排序容器中插入元素以维护订单的正确位置.
感谢您帮助Scala初学者
我刚刚找到了 intialist 的答案:
class Output
{
var point: Double = _
var solution: Array[Double] = Array(6)
}
Run Code Online (Sandbox Code Playgroud)
Puh Scala 有很多语法需要适应:-)
有人有 lower_bound 等效项的解决方案吗?