文档章节

数组竟然可以这样定义

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 203
阅读 6
收藏 0
//这是常规思路:
const
  arr: array[0..1] of Char = ('A','B');
begin
  ShowMessage(arr);                   {AB}
  ShowMessage(IntToStr(Length(arr))); {2}
end;

 
 
 
 
 

 

 

  
//没想到可以这样: const arr: array[Boolean] of Char = ('A','B'); begin ShowMessage(arr); {AB} ShowMessage(IntToStr(Length(arr))); {2} {访问元素} ShowMessage(arr[False]); {A} ShowMessage(arr[True]); {B} {也可以这样访问} ShowMessage(arr[Low(arr)]); {A} ShowMessage(arr[High(arr)]); {B} {但不能这样访问} // ShowMessage(arr[0]); // ShowMessage(arr[1]); {但可以变通一下} ShowMessage(arr[Boolean(0)]); {A} ShowMessage(arr[Boolean(1)]); {B} end;
//同理, 这样也可以: const arr: array[Byte] of Integer = ( 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55, 56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81, 82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105, 106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125, 126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145, 146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165, 166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185, 186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205, 206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, 226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245, 246,247,248,249,250,251,252,253,254,255,256); begin ShowMessage(IntToStr(arr[Low(arr)])); {1} ShowMessage(IntToStr(arr[High(arr)])); {256} ShowMessage(IntToStr(Length(arr))); {256} end;
//给这种用法来一个必要性的实例: const BoolStr: array[Boolean] of string = ('False', 'True'); var b: Boolean; begin b := True; ShowMessage(BoolStr[b]); {True} b := not b; ShowMessage(BoolStr[b]); {False} end;

本文转载自:http://www.cnblogs.com/del/archive/2008/04/17/1158098.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
帝国cms打印全局变量的备注 以前帝国cms鲜为人知的秘密

说来极其恶心也是没有办法的事。 由于本人很多技术都摸,有时摸完后就不摸了,当然了不摸的结果就是忘了感觉了! 就拿帝国cms来说,曾经历过三次摸的高潮,每次感觉都不一样,一次比一次感受...

ziluopao
2016/10/31
105
0
Java 数组转型和范型

今天写代码遇到一个奇怪的问题,代码结构如下: 这样写代码个人觉得应该没什么问题,编译也没有问题。可是具体运行的时候报异常,如下: Exception in thread "main" java.lang.ClassCastEx...

长平狐
2013/01/06
156
0
Perl 6 语言的糟粕

代码前面的声明 没有任何意义。 use v6; 这个声明没有任何意义,有人说这样可以让别的语言编译器早早知道搞错了对象。 不支持数组的负数索引。 在 Perl5 中都支持的东西,到了 Perl6,竟然不...

沙枣
2016/10/10
15
0
YUV420P/I420 stride 计算方式

这两天做一个 H.265 编码测试的功能,编码器需要手动输入 raw yuv frame 的 stride (也可以称作 pitch)数组大小,这个倒是让我一愣,做了这么久的音视频编解码的工作,长时间使用 ffmpeg,...

Gobert
2017/07/04
0
0
C/C++没有数组

在其它高级语言里,不管是定义(声明)还是引用,a[i]或a[3]都是一个整体。在C/C++里,却是一个表达式:a[i]是运算符[]连接两个实体a和i。 说C/C++并没有数组,有以下几条理由。 理由一:C里没...

loongchao
2012/05/21
1K
17

没有更多内容

加载失败,请刷新页面

加载更多

Kafka+Flink 实现准实时异常检测系统

1.背景介绍 异常检测可以定义为“基于行动者(人或机器)的行为是否正常作出决策”,这项技术可以应用于非常多的行业中,比如金融场景中做交易检测、贷款检测;工业场景中做生产线预警;安防...

架构师springboot
13分钟前
1
0
DecimalFormat 类基本使用

/* * DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度 * 0 表示如果位数不足则以 0 填充 * # 表示只要有可能就把数字拉上这个位置 * */ public static void main(String[] args){...

嘴角轻扬30
30分钟前
3
0
This APT has Super Cow Powers.

在Debian/Ubuntu上,apt包管理器内嵌着一个彩蛋. 如果你在命令行界面输入 apt help 在最后一行能找到This APT has Super Cow Powers. 说明该apt具有超级牛力 牛力是个什么梗? 则说明你的系统...

taadis
48分钟前
2
0
起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发...

糖宝lsh
56分钟前
6
0
携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部