Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Ada,抛出的值:“CONSTRAINT_ERROR:”的输入错误。

Ada,抛出的值:“CONSTRAINT_ERROR:”的输入错误。
EN

Stack Overflow用户
提问于 2017-07-14 19:33:43
回答 2查看 744关注 0票数 1

我无法让下面的脚本返回我的输入值;我已经查找了ARM和John Barnes的书,但都没有用。从理论上讲,它应该是可行的。有人知道为什么吗?我是一个新手,所以巴恩斯的书和手臂对我来说可能太高级了。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 with Ada.Text_IO;
use Ada.Text_IO;
procedure ron is
A : Character;

begin
    Put_Line ("Hi Ron, how are you?");
        A := Character'Value (Get_Line);
    Put_Line ("So you feel" &
        Character'Image (A));
end ron;

--TERMINAL OUTPUT
--ronhans@amante ~/Desktop $ gnatmake -gnat2012 ron.adb
--gcc-4.8 -c -gnat2012 ron.adb
--gnatbind -x ron.ali
--gnatlink ron.ali
--ronhans@amante ~/Desktop $ ./ron
--Hi Ron, how are you?
--well.

--raised CONSTRAINT_ERROR : bad input for 'Value: "well."
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-15 08:06:25

如果您查看LRM,您将看到Ada.Text_IO.Get_Line返回一个String

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with Ada.Text_IO;

procedure Ron is
begin
   Ada.Text_IO.Put_Line ("Hi Ron, how are you?");

   declare
      Reply : constant String := Ada.Text_IO.Get_Line;
   begin
      Ada.Text_IO.Put_Line ("So you feel " & Reply & "?");
   end;
end Ron;
票数 2
EN

Stack Overflow用户

发布于 2017-07-15 06:56:28

您的程序的问题在于您试图将一个字符数组放入单个字符中。不使用A : Character,而是尝试定义如下所示的数组类型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
type Character_Array_T (1 .. 10) of Character;
...    
A : Character_Array_T;

或使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with Ada.Strings.Unbounded;
...
A : Ada.Strings.Unbounded.Unbounded_String;

我建议使用无界字符串,这样,如果您打算多次读出一个输入,那么输入就不会局限于某个特定的字符串长度。Ada类型string要求您指定字符串长度,此长度恰好就是此字符串应包含的字符数。

有关参考,请参见Wiki, unbounded stringsUnbounded string handling

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45112970

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文