【问题标题】:How to load an ascii file into an array using actionscript 3如何使用 actionscript 3 将 ascii 文件加载到数组中
【发布时间】:2020-02-03 08:36:58
【问题描述】:

朋友们, 事实上,我是 AS3 的新手。我想要的是读取一个外部文本文件,然后将其加载到三个数组中。文本文件有 3 列,例如,类似这样的内容

频率放大相位

2000 10 56

2200 8.2 -140

2600 14 -120

... ... ...

我想要三个数组,每个数组都包含来自每一列的值,例如,“freqArray”应该是 [2000 2200 2400] 非常感谢您的帮助。 那里有一些有用的代码。例如,我使用下面的代码,但问题是 1)它没有分隔列之间的空格,它只是分隔行 2)我猜数组中的条目是字符,而不是数字。

var myLoader:URLLoader = new URLLoader(new URLRequest("myText.txt");
var myArray:Array = new Array();

myLoader.addEventListener(Event.COMPLETE, loadComplete, false, 0, true);

function loadComplete(e:Event):void{
myArray = myLoader.data.split("\n");

for(var i:int = 0; i < myArray.length; ++i){
    trace(myArray[i]);                         // To check if it works at this point
}

//now move on with the rest of your program/code

}

【问题讨论】:

  • Stack Overflow 不是代码编写服务!向我们展示您尝试过的东西,我们也许可以帮助您改进/修复您的代码。
  • 请描述一下,你有什么问题——到底是什么?加载文件?处理蜇伤?将字符串十进制表示转换为数字?循环?另请附上有问题的脚本以供参考和诊断。
  • 朋友们,有一个包含 3 列的外部文本文件。我想编写一个包含 3 个数组的代码,每个数组都包含这些列中的值。列中的条目应该是类似数字的。我的意思是我想使用数组中的条目。我希望这是澄清。
  • @abbashonarmand 我们非常了解您想要实现的目标。我们试图解释的是这样的请求(要求每个文本描述的工作代码)不符合 StackOverflow 意识形态。请阅读本指南并适当编辑您的问题:stackoverflow.com/help/how-to-ask
  • hm... 好像是直接从另一个答案复制过来的

标签: arrays actionscript-3 actionscript ascii


【解决方案1】:

例如,我使用下面的代码,但问题是......

  • (1) 它不分隔列之间的空格,它只是分隔行
  • (2) 我猜数组中的条目是字符,而不是数字。

(1) 由于您的"\n",它以新行分隔。见example reference

如果您想要 SPACE,那么只需在引号之间放一个空格。

myArray = myLoader.data.split(" ");

(2)您可以通过数据转换将文本(写为数字)转换为实际的数字。

  • 设置int 如果您想要整数,例如:myVar = int( myArray[x] ); //x holds the 2200

  • 设置Number如果你有分数数字,例如:myVar = Number( myArray[x] ); //x hold 8.2

其中:x 是 Array 中具有您要转换的值的位置。

避免创建一些新变量 (myVar) 的更快技巧可能类似于...

myArray[x] = int( myArray[x] ); //just overwrite the current text chars with actual integer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 2010-10-23
    • 2012-08-02
    • 2016-07-30
    • 2010-11-03
    相关资源
    最近更新 更多