小编eri*_*ict的帖子

IF语句中"和"与"然后"之间是否存在差异

我通过修复错误和阅读代码来学习Ada.我注意到一些if语句与"and"结合,其他语句与"然后"结合.类似地,有"或"和其他地方有"或其他".一位同事说这只是语法糖并没有区别.我想知道他是对的吗?

ada

21
推荐指数
1
解决办法
8063
查看次数

一系列布尔值怪异

我继承了这段代码,无法弄清楚它的作用.定义看起来很简单:

result : BOOLEAN ;
LOOKUP_TABLE : array
  ( BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN,
    BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN, BOOLEAN ) of
  BOOLEAN := (others => (others => (others => (others => (others => (others => (others => (others =>
             (others => (others => (others => (others => (others => (others => (others => (others => 
                TRUE ))))))))))))))));
Run Code Online (Sandbox Code Playgroud)

在体内,使用如下:

result := LOOKUP_TABLE(TRUE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE,
                       FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, …
Run Code Online (Sandbox Code Playgroud)

arrays ada

5
推荐指数
2
解决办法
1164
查看次数

可以将具有不同泛型类型的对象添加到单个容器中

我需要一个包含一组"泛型"对象的数组,其中数组中的每个元素可能具有相同的泛型类型,或者是不同的.我能解决这个问题的唯一方法是使通用对象具有基类,并且该数组用于一组基类对象.

class abstract absgentype { }

class gentype<T> : absgentype
{
    T value;
    ...
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,糟糕的副作用是,当我看数组的内容,我必须使用强制要回实际的对象,我必须知道泛型类型做演员的类型.

有没有办法构建一个容器,可以包含具有不同泛型类型的泛型的多个对象?理想情况下我想做:

var p = genarray[0];    // type of p is whatever type was put into array
Run Code Online (Sandbox Code Playgroud)

我不想使用类型对象或动态,因为我失去了静态类型...

c# generics containers

2
推荐指数
1
解决办法
217
查看次数

标签 统计

ada ×2

arrays ×1

c# ×1

containers ×1

generics ×1