七 新語法補充

2022-09-22 06:33:09 字數 1669 閱讀 8293

新語法

示例等價於/說明

data

(1)data(text) = 『abcde』.

(2)loop at itab into data(wa).

endloop.

(1)data text type string.

text = 『abcde』.

(2)data wa like line of itab.

loop at itab into wa.

endloop.

cond

lv_str = cond #(when lv_str is initial then 『abcde』 else lv_str).

if lv_str is initial.

lv_str = 『abcde』.

else.

lv_str = 『 『.

endif.

switch

lv_str = switch #( n when 1 then 『abcde『 when 2 then 『fghtl).

case n.

when 1.

lv_str = 『abcde』.

when 2.

lv_str = 『fghtl』.

when others.

lv_str = 『 『.

endcase.

value

itab= value #( ( id = 1 name = 『lili』)

(id = 2 name = 『limi)).

types:begin of ty_itab,

id type i,

name type string,

end of ty_itab.

data:itab type table of ty_itab.

再賦值for

data(itab2) = value itab2(for wa in itab1 where ( id  < 50 ) ( id = wa-id name = wa-name age = wa-age )).

加強版的loop at,可用於填充內錶、根據條件彙總、計算等操作

reduce

data( sum ) = reduce i( init x = 0 for wa in itab next x = x+wa-age ).

可用於彙總計算

conv

lv_str = 『001024.012』.

lv_int = conv i( lv_str ).

資料型別轉換,不需要中間變數

corresponding

struct2 = corresponding #( struct1 ).

用於實現結構和內錶之間的動態賦值操作

group by

loop at itab assigning field-symbol() group by -id.

相當於sql中的group by,用於內表處理

felter

data( itab1 ) = filter #( itab using key id)單值過濾

data( itab2 ) = filter #( itab using key id where age = conv #( to_upper( age )))多值過濾

過濾,可以指定乙個或多個值進行過濾

OC新語法總結

1.方法與順序無關 2.列舉繫結資料型別 enum typedef nsuinteger language 3.屬性不用寫 synthesize 4.語法簡化 4.1 nsnumber nsnumber value value 12345 value 123.45f value 123.45 val...

markdown 最新語法

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

Delphi 新語法之Helper

技術交流,dh講解.哈哈,好久沒有寫這個系列了.今天在看vcl源 的時候,看見了這個.還是宣告一下這個是在d7以後的版本才有的.謝謝,不要噴我 當我們想給乙個類增加乙個方法或者成員變數,但是這個類又被很多單元引用了,我們直接去該這個類,肯定是很不明智的,怎麼辦?對了,物件導向的話,我們可以繼承一下不...