NetLogo中file-write输出如何去除字符串引号?
解决NetLogo file-write输出带引号的问题
嘿,这个问题我太熟了!你遇到的其实是NetLogo里file-write命令的默认行为——它本来就是为了输出符合NetLogo数据格式的内容设计的,所以字符串类型的内容会自动加上引号,方便后续用file-read读回来。但既然你要的是纯文本格式方便数据分析,换个命令就行啦!
核心解决方案:用file-print替代file-write
file-print会直接输出你拼接好的文本内容,不会自动添加引号。把你的代码改成这样就行:
file-print (word frequenz "_" transferrate "_" dangerradius " / " (overall-wait / ticks))
如果需要同一行输出多个内容
要是你想在同一行输出多组像这样的文本(比如你例子里的两组数据),可以用file-type来逐段输出,最后用file-print换行:
; 输出第一组内容,不换行 file-type (word frequenz "_" transferrate "_" dangerradius " / " (overall-wait / ticks)) ; 加个空格分隔两组数据 file-type " " ; 输出第二组内容并换行 file-print (word another-frequenz "_" another-transferrate "_" another-dangerradius " / " (another-overall-wait / another-ticks))
这样生成的文件就会直接是你想要的格式:
2_100_1 / 0.05081157374735357 3_100_1 / 0.09989594172736732
内容的提问来源于stack exchange,提问作者spikey
相关产品推荐
相关产品推荐

