请教:set of [1..X]是什么意思? ( 积分: 50 )

  • 主题发起人 主题发起人 原子
  • 开始时间 开始时间

原子

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,查过书,但没有找到,请大家指教
 
如题,查过书,但没有找到,请大家指教
 
定义一个集合呀
集合值可以有X*X个值
 
哪里出现有这样的表示,“X”是什么?
 
set of [1..X] 集合类型的值,相当于高中代数课本上的{1,2,3..X}这样一个集合
申明的时候用
type
TMySet = set of [1..5];

之后就可以这样使用:
var
MySet: TMySet
 
类似于一个 二纬表
根据 VictorWoo, 的定义,你可以这样使用:
MySet[1,1]=...
MySet[1,2]=...
MySet[1,3]=...
MySet[1,4]=...
MySet[1,5]=...
这张二维表里总共可以放5个值,如果定义成 set of [2..5];
那么就可以放十个值了,如下:

MySet[1,1]=...
MySet[1,2]=...
MySet[1,3]=...
MySet[1,4]=...
MySet[1,5]=...

MySet[2,1]=...
MySet[2,2]=...
MySet[2,3]=...
MySet[2,4]=...
MySet[2,5]=...

这样解释,明白么?
 
相当于自定义类型,把变量申明成这种类型时,这个变量的范围就在
[1..X] 范围内!
 
集合类型的用法:(举例)
type
TWeekDay = Set of 1..7
// 定义
var
WeekDay: TWeekDay;
begin
WeekDay := [1, 3, 5];//赋值
end;
 
仔细看了一下问题,发现问题有点问题(呵呵,不要被绕晕):
set of **** 是在定义一个集合的时候用的,若要表示 1到X 的值,应当用1..x而不是[1..X]。只能出现在type段里

在定义实例的时候是这样写的:
var
MySet: TSet;
而在赋值的时候是这样用的:
MySet := [1..5];
注意!这里才出现'[]'的定界符。
原文的set of须在定义集合类型的时候用,[]须在赋值的时候用,出现在同一句就矛盾了。
我在Delphi7里编译通不过,提示
[Error] :Type expected but '[' found
 
谢谢大家!
现在我明白了。: )
 
集合的元素类型
 
后退
顶部