代码之家  ›  专栏  ›  技术社区  ›  user310291

有没有办法创建一个类似ask的函数,但它在红色控制台中接受多行?

red
  •  0
  • user310291  · 技术社区  · 7 年前

    使用时

    问“你的答案:”

    不能粘贴多行。

    可以控制控制台暂时接受多条线路吗? 或者我必须创建一个我想要避免的GUI,如果可能的话,我不想要任何GUI。

    1 回复  |  直到 7 年前
        1
  •  1
  •   sqlab    7 年前

    如果您不想编写自己的红色/系统例程,则可以使用一个粗略的解决方案

    ask-2line: function [quest] [
        collect/into [ 
            keep ask  quest
            keep newline
            keep ask "[  "
        ] clear ""
    ]
    
    >> ask-2line "what: "
    what: 1st line
    [  second line
    == "1st line^/second line"
    

    当然,您必须定义如何终止输入。 例如

    ask-nlines: function [quest] [
        collect/into [ 
            while [
                not empty? keep  ask  quest
            ] [
                keep newline
                quest: "{  "
            ]
        ] clear ""
    ]