如何将这段可执行的伪代码翻译成 ABAP?

phone_numbers = { 
    'hans': '++498912345', 
    'peter': '++492169837', 
    'alice': '++6720915', 
} 
 
# access 
print (phone_numbers['hans']) 
 
# add 
phone_numbers['bernd']='++3912345' 
 
# update 
phone_numbers['bernd']='++123456' 
 
if 'alice' in phone_numbers: 
    print('Yes, alice is known') 
 
# all entries 
for name, number in phone_numbers.items(): 
    print(name, number) 
现代 ABAP 最多可达 752 个,更少的字符,更多的赞成 :-)
附注 顺便说一句,到目前为止还没有人将 abap 添加到 pleac(类似编程语言示例食谱)

请您参考如下方法:

那么,下面的解决方案怎么样?

REPORT ZZZ. 
 
TYPES: BEGIN OF t_phone_number, 
  name TYPE char40, 
  number TYPE char40, 
  END OF t_phone_number. 
 
DATA: gt_phone_number TYPE HASHED TABLE OF t_phone_number WITH UNIQUE KEY name. 
 
START-OF-SELECTION. 
  gt_phone_number = VALUE #( 
    ( name = 'hans' number = '++498912345' ) 
    ( name = 'peter' number = '++492169837' ) 
    ( name = 'alice' number = '++6720915' ) 
  ). 
 
* access 
  WRITE / gt_phone_number[ name = 'hans' ]-number. 
 
* add 
  gt_phone_number = VALUE #( BASE gt_phone_number ( name = 'bernd' number = '++3912345' ) ). 
 
* update 
  MODIFY TABLE gt_phone_number FROM VALUE #( name = 'bernd' number = '++123456' ). 
 
  IF line_exists( gt_phone_number[ name = 'alice' ] ). 
    WRITE / 'Yes, Alice is known.'. 
  ENDIF. 
 
* all entries 
  LOOP AT gt_phone_number ASSIGNING FIELD-SYMBOL(<g_phone_number>). 
    WRITE: /, <g_phone_number>-name, <g_phone_number>-number. 
  ENDLOOP. 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!