声明并使用内部表,就像整数数组一样



我想创建一个"整数数组"。大多数示例都使用结构,因此我无法为我的问题推导出这些结构。

data: itab type STANDARD TABLE OF i, 
var type i. 
field-symbols:
<fs> type i.
do 3 times.
var = sy-index.
append var to itab.
enddo.

loop at itab assigning <fs>.
write var.
endloop.

如何用 1 到 3 的数字填充它?

如何打印整个表格?

如何使用索引打印一个元素?

变量定义(数据...表(:

DATA integers TYPE STANDARD TABLE OF i
WITH EMPTY KEY.

填充值(值或插入(:

* either fixed values
integers = VALUE #( ( 1 ) ( 2 ) ( 3 ) ).
* or with range of numbers
DO 3 TIMES.
INSERT sy-index INTO TABLE integers.
ENDFO.

打印出来,每行一行:

LOOP AT integers INTO DATA(int).
WRITE / int.
ENDLOOP.

通过表表达式访问第二个条目:

DATA(second_int) = integers[ 2 ].

使用非结构化行类型 - 在这种情况下只是"i" - 和添加"带空键"最接近我们在其他编程语言中找到的数组。

最后,您可以像任何其他数据类型(TYPES ...表(:

TYPES integer_array TYPE STANDARD TABLE OF i
WITH EMPTY KEY.
METHODS sum
IMPORTING
integers TYPE integer_array
RETURNING
VALUE(result) TYPE i.

相关内容

  • 没有找到相关文章

最新更新