2017-04-06 38 views
3

最低工作例如如何在沒有換行符的情況下在GAP中打印到文本文件?

x:=Indeterminate(Rationals,"x"); 
f:=Sum([1..1000],i->x^i); 
PrintTo("~/temp.txt",f); 

它打印到temp.txt如下:

x^1000+x^999+x^998+x^997+x^996+x^995+x^994+x^993+x^992+x^991+x^990+x^989+x^988\ 
+x^987+x^986+x^985+x^984+x^983+x^982+x^981+x^980+x^979+x^978+x^977+x^976+x^975\ 
+x^974+x^973+x^972+x^971+x^970+x^969+x^968+x^967+x^966+x^965+x^964+x^963+x^962\ 
+x^961+x^960+x^959+x^958+x^957+x^956+x^955+x^954+x^953+x^952+x^951+x^950+x^949\ 

[snip] 

我怎麼能代替得到它打印在文本文件中的一行?

回答

2

這是一個普遍的需求,解決方案被稱爲SetPrintFormattingStatus。請參閱its documentation online 或在GAP提示中輸入?SetPrintFormattingStatus以查看文檔。

請注意,在這種情況下您將不得不使用流,它不直接與文本文件一起工作 。 OutputTextFile(記錄在 SetPrintFormattingStatus之後)是您需要使用的。

在上面的例子中,使用

x:=Indeterminate(Rationals,"x"); 
f:=Sum([1..1000],i->x^i); 
output := OutputTextFile("poly", false);; 
SetPrintFormattingStatus(output, false); 
PrintTo(output,f); 
相關問題