是德科技
直播中

苏旭

7年用户 174经验值
私信 关注
[问答]

AEL怎么可以将列表sprintf到一个字符串并输出它

AEL:可以将列表sprintf到一个字符串并输出它。
调试一段AEL代码时,我需要将一个列表sprintf到一个字符串。
我需要检查列表并将列表输出到stderr调试窗口。
我尝试了以下方法,但没有一个工作。
decl b = list(1,3,5,9,3 + 4i);
decl s1 = sprintf(“%s”,car(b)); //无论是%s,%f还是%i,它都能正常工作。
decl s1 = sprintf(“%s”,fmt(car(b)));
//不起作用
我需要将sprintf list b sprint到字符串s1并将其输出如下:fputs(stderr,s1);
帮帮我!
B.T.W:我需要更多的AEL示例,但我只能找到所有ADS示例中的3个。
我在哪里可以获得更多AEL示例?

以上来自于谷歌翻译


     以下为原文

  AEL: Can sprintf a list to a string and fputs it.
When debugging a segment of AEL codes, I need to sprintf a list to a string. I need to check out the list and fputs the list to stderr debug window. I have tried the following methods, but none of them work.
decl b=list(1,3,5,9,3+4i);
decl s1=sprintf(“%s”,car(b));     //     It does work whether it is %s、%f or %i.
decl s1=sprintf(“%s”,fmt(car(b))); // does not work.
I need to sprintf list b to a string s1 and fputs it as following:
fputs(stderr,s1);           
HELP!
B.T.W: I need more AEL examples but I can only find 3 of all the ADS examples. Where can I get
more AEL examples?  

回帖(4)

杨涛

2018-11-1 14:42:09
你想做什么并不完全清楚。
你说第一个例子是有效的,你还需要什么?
使用fmt()函数的第二个示例将起作用,因为它需要有关结果的宽度和精度的其他信息。
它不会直接从列表中返回值。
你的意思是你想要一起导出列表中的所有令牌吗?
如果是这种情况,那么您需要的功能是fmt_tokens()。
这将输出列表的全部内容作为单个空格分隔的字符串,即“1 3 5 9”。
它不会导出复数,因为无法将其计算为字符串。
另外,您希望看到实际的值列表。
函数identify_value()会将列表转换为字符串并返回字符串列表(1,3,5,9,3 + 4i)。

以上来自于谷歌翻译


     以下为原文

  It is not entirely clear what you want to do. You say the first example works so what else do you need?

The second example using the fmt() function will work as it expects additional information about the width and precision of the result. It will not simply return the value directly from the list.

Do you mean you want to export all the tokens in the list together? If that is the case then the function you need is fmt_tokens(). This will output the entire contents of the list as a single space separated string, i.e. "1 3 5 9". It will not export the complex number as that cannot be evaluated to a string.

Alternative do you expect to see the actual list of values. The function identify_value() will convert the list to a string and return the string list(1,3,5,9,3+4i).
举报

李桂荣

2018-11-1 14:50:01
引用: 411easdd*** 发表于 2018-11-1 17:34
你想做什么并不完全清楚。
你说第一个例子是有效的,你还需要什么?
使用fmt()函数的第二个示例将起作用,因为它需要有关结果的宽度和精度的其他信息。

> {quote:title = sdgrant写道:} {quote}>函数identify_value()会将列表转换为字符串并返回字符串列表(1,3,5,9,3 + 4i)。
我想要第二个。
identify_value()非常适合转储各种变量的调试输出字符串,而不必担心数据类型。
decl b = list(1,3,5,9,3 + 4i);
的fputs(错误,identify_value(B));

以上来自于谷歌翻译


     以下为原文

  > {quote:title=sdgrant wrote:}{quote}
> The function identify_value() will convert the list to a string and return the string list(1,3,5,9,3+4i).

I want to second this.  identify_value() is great to dump debug output strings for all kinds of variables, without having to worry about the data type.

decl b=list(1,3,5,9,3+4i);
fputs(stderr,identify_value(b));
举报

苏旭

2018-11-1 15:02:59
引用: 411easdd*** 发表于 2018-11-1 17:34
你想做什么并不完全清楚。
你说第一个例子是有效的,你还需要什么?
使用fmt()函数的第二个示例将起作用,因为它需要有关结果的宽度和精度的其他信息。

很好.. identify_value()非常适合转储调试输出。
另一个问题:如何测试此示例:“将模拟数据直接保存到ASCII文件(writepara)”位置(在ADS 2011+中):$ HPEESOF_DIR / examples / KC_Examples / writepara_wrk没有一个单元可以直接运行。
例如,如果我尝试使用dsp_sim,则模拟错误警告N1和N2未定义。
Plz告诉我如何测试这个例子。
似乎缺乏如何运行它的说明。

以上来自于谷歌翻译


     以下为原文

  Great..
identify_value() is really great to dump debug outputs.

Another question:
How to test this example:
“Save Simulation Data to ASCII File Directly (writepara)”
Location (in ADS 2011+): $HPEESOF_DIR/examples/KC_Examples/writepara_wrk
None of the cell can run directly.
For example, simulation is in error warning that N1 and N2 are not defined if I try dsp_sim.
Plz tell me how to test this example.
There seems lack of instructions of how to run it.
举报

王亮

2018-11-1 15:14:21
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

更多回帖

发帖
×
20
完善资料,
赚取积分