EDA365电子论坛网

标题: 又来求助了~ [打印本页]

作者: ghfghyb    时间: 2012-7-20 15:48
标题: 又来求助了~
本帖最后由 ghfghyb 于 2012-7-20 15:50 编辑

首先说明:printf("********************")这个是我自己增加的显示,以确认程序运行到哪一步出问题的!

是网上找的一个学习资料(附件中有原文),因为有部份没有看懂,如getTempDir(),这个函数的作用,我查了help文档,没有此函数。
而且此程序应该会生成一个data.txt文件,但是没有生成,就更不要说把list资料写到此文本中了,请大大们指导一下~
咱知道基础差,正在努力学习英文(help文档是全英文的,现在看的有点辛苦{:soso_e106:} ,不过我相信我能读完的{:soso_e149:} )
输出的结果是:
"********************"
function DataOut redefined


以下是程序:
println("********************")
procedure( DataOut()
    lData = list('("just" 10 5.5) '("for" 20 10.2) '("test" 30 15.0) '("use" 40 17.8) '("done" 50 1.2)); 定义数据列表lData
                  printn("********************")
    fDataOut = strcat( getTempDir() "./" "data.txt") ; 输出文件名和路径,%temp%/data.txt。
    pDataOut = outfile( fDataOut "w" ); 建立输出端口
        printn("********************")
    foreach( item lData
        fprintf( pDataOut "%s %d %0.2f\n"            ; 输出数据到文件端口
                    car(item) cadr(item) caddr(item)  ; item=>每一个在lData中的列表
                                                print(getTmpDir())
                                                printn("********************")
        ); end fprintf
    ); end foreach
    close( pDataOut )  ; 关闭端口
    printf( "I- output data from lData list to file %s, done!" fDataOut ); 输出提示信息
        printf("********************")

); end procedure

Cadence_Skill_语法详解(中文)-z.rar

26.2 KB, 下载次数: 4, 下载积分: 贡献 -30 , 威望 -10

Cadence_Skill_语法详解(中文)


作者: betamelody    时间: 2012-7-20 16:00
  1. procedure( DataOut()
  2.     lData = list('("just" 10 5.5) '("for" 20 10.2) '("test" 30 15.0) '("use" 40 17.8) '("done" 50 1.2)); 定义数据列表lData
  3.     fDataOut = strcat( getTempDir() "./" "data.txt") ; 输出文件名和路径,%temp%/data.txt。
  4.     pDataOut = outfile( fDataOut "w" ); 建立输出端口
  5.     foreach( item lData
  6.         fprintf( pDataOut "%s %d %0.2f\n"            ; 输出数据到文件端口
  7.                     car(item) cadr(item) caddr(item)  ; item=>每一个在lData中的列表
  8.                     print(getTmpDir())
  9.         ); end fprintf
  10.     ); end foreach
  11.     close( pDataOut )  ; 关闭端口
  12.     printf( "I- output data from lData list to file %s, done!" fDataOut ); 输出提示信息
  13.         printf("********************")

  14. ); end procedure

  15. procedure( getTmpDir()
  16.   axlTempDirectory()
  17. )
复制代码

作者: XYX365    时间: 2012-7-20 16:28
本帖最后由 XYX365 于 2012-7-20 16:55 编辑

這是你原來的


這是我修改的


其中第五行 "./" 應該是有問題要改成"/",這樣才能將資料輸出到data.txt
其他你可以比較顏色的差異就知道哪裡輸入錯誤
getTempDir() 功能為取系統(或使用者)的變數TEMP所指定的路徑名稱
getTempDir()
=> t_TempDir
Description
Returns the system temp directory as a string.

Arguments
None.

Value Returned
t_TempDir Returns the name of your current temp directory.

Example
getTempDir() => "/tmp"
作者: ghfghyb    时间: 2012-7-20 16:42
本帖最后由 ghfghyb 于 2012-7-20 16:43 编辑
betamelody

兄弟,好吧我承认我水平差,还是没看懂啊!
终个简单的解说吧!!谢谢了!
作者: betamelody    时间: 2012-7-20 16:43
ghfghyb 发表于 2012-7-20 16:42
兄弟,好吧我承认我水平差,还是没看懂啊!
终个简单的解说吧!!谢谢了!

哪里没看懂
作者: ghfghyb    时间: 2012-7-20 20:56
betamelody

最主要是没看懂,这一片代码整体的作用!!
每行都明白意思,但就是不知道,整体的效果!!
哎~~我真:'(:'(:'(水,不是一般的水
作者: betamelody    时间: 2012-7-21 17:52
ghfghyb 发表于 2012-7-20 20:56
最主要是没看懂,这一片代码整体的作用!!
每行都明白意思,但就是不知道,整体的效果!!
哎~~我真:' ...

lData = list('("just" 10 5.5) '("for" 20 10.2) '("test" 30 15.0) '("use" 40 17.8) '("done" 50 1.2)); 定义数据列表lData

整个代码的功能就是把这个list数据的文本写入到一个临时文件中去




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2