有没有办法制作像ask这样的函数但是在Red控制台中接受多行?

时间:2017-11-04 08:06:43

标签: red

使用时

问“你的回答:”

您无法粘贴多行。

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

1 个答案:

答案 0 :(得分:1)

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

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"

当然,您必须定义如何终止输入。 e.g

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