跳转到内容

Rebol 编程/list-dir

来自维基教科书,开放的书籍,开放的世界
LIST-DIR dir 

打印目录的多列排序列表。

LIST-DIR 是一个函数值。

  • dir -- 要列出的目录或无 (类型: 文件 URL 未设置)

(特殊属性)

[编辑 | 编辑源代码]
  • 捕获

源代码

[编辑 | 编辑源代码]
list-dir: func [
    {Prints a multi-column sorted listing of a directory.} 
    [catch] 
    dir [file! url! unset!] "Directory to list or nothing" 
    /local file max s
][
    dir: throw-on-error [
        either value? 'dir [
            read dirize dir
        ] [
            read %.
        ]
    ] 
    dir: sort dir 
    max: 0 
    foreach file dir [
        if (length? file) > max [max: length? file]
    ] 
    max: max + 2 
    s: make string! 0 
    foreach file dir [
        append s file 
        while [((length? s) // max) <> 0] [append s " "] 
        if (length? s) > 60 [
            print s 
            clear s
        ]
    ] 
    if length? s [print s]
]
华夏公益教科书