当前位置:  开发笔记 > 编程语言 > 正文

程序获取(项目:输出字符串); (在一个函数中)

如何解决《程序获取(项目:输出字符串);(在一个函数中)》经验,为你挑选了1个好方法。

我正在尝试返回一个全局变量的String值,并希望稍后在一个过程中使用使用它的函数.

function get_name return String
is begin
Put_line("Your name?");
 Get(name); -- name is in "globals"
 put(name);
return name;
end get_name;

包文件=

package globals
is
name : String(1..20) ;
end globals; 

这里是函数中使用的"获取"=

       procedure Get (Item : out String);

现在,如果我在一个过程中使用fonction,它会编译但是=

在启动时,没有得到执行,程序"创建"一个"跳过"线!!?

那么,是否可以使用此过程获取函数?

你如何调用包含它的函数?



1> Dale Stanbro..:

如果您调用该过程Get(Item : out String),则您阅读的字符数必须为20个字符.

如果要使用该函数get,则需要使用其值初始化变量,或将其作为参数传递.例如

x : string := get_line; -- functional version that will read an entire line

要么

put(get_line); -- read and entire line, pass it immediately to a procedure

至于为什么你的输入跳过get而不是读取任何内容,这可能是因为你之前已经读过一些输入,并且在输入中留下了换行符/行尾标记.如果您阅读数字,这通常会发生.

例如,输入是

34\nThe next line\n

如果你读了一个整数,文件指针会显示你在......

34\nThe next line\n
..^

然后你要求a get_line,你最终只会读到行的末尾(你现在所在的位置)并且你将有一个空字符串,而不是读取下一行.

解决方案是skip_line每次获得后都有.所以

get(number); skip_line;

declare 
   input : string := get_line;
begin
   ...

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有