我有一个.txt
文件,我想读取它并将其转换为实例,以便元组可以读取它
我的文本文件包含:
day 7h 20h
care amy baba
care baba bintou
我想读取文本文件并获取以下数据:
day = <7.20>
care = [<"amy", "baba">
<"bintou", "baba">
]
脚本如下:
// Reads the content of a file and returns its content as a string
function file_to_string(files) {
var f = new IloOplInputFile(files);
if (f.exists) {
// writeln("Reading file : ", fichier );
var s = "";
var indent = "";
var tab = new Array();
while (!f.eof) {
s = s + f.readline() + "\n";
s = s.split(" ");
}
write(s);
f.close(); // Fermeture fichier instance
}
else
writeln("\nWARNING : the file ", files, " doesn't exist");
return s;
}
答案 0 :(得分:0)
您必须定义适当的元组并创建(空)集合。然后,您可以使用元组集合的add函数将新的元组添加到集合中。
此.mod
文件
tuple day {
int field1;
int field2;
}
{day} days = {};
tuple care {
string field1;
string field2;
}
{care} cares = {};
execute {
var f = new IloOplInputFile("readtuple.data");
while (!f.eof) {
var s = f.readline();
var fields = s.split(" ");
if ( fields.length < 2 )
// empty or invalid line
continue;
if ( fields[0] == "day" )
days.add(Opl.atoi(fields[1]), Opl.atoi(fields[2]));
else if ( fields[0] == "care" )
cares.add(fields[1], fields[2]);
else {
// invalid line
}
}
f.close();
}
execute {
writeln(days);
writeln(cares);
}
使用您的数据生成此输出:
{<7 20>}
{<"amy" "baba"> <"baba" "bintou">}