LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

А как там пишется map<string, map<string,int>> ?

Так TDictionary<string, TDictionary<string,int32>>;

program Project1;
{$MODE DELPHI}
{$APPTYPE CONSOLE}

uses
  SysUtils, Math, Types, Generics.Collections, Generics.Defaults;

var
  Dict: TDictionary<string, TDictionary<string, int32>>;
  Test: TDictionary<string, int32>;
  Found: TDictionary<string, int32>;
begin
  Dict := TDictionary<string, TDictionary<string, int32>>.Create;
  try
    Test := TDictionary<string, int32>.Create;
    Dict.AddOrSetValue('test', Test);

    Dict.TryGetValue('blah', Found);
    Writeln(nil = Found);

    Dict.TryGetValue('test', Found);
    Writeln(Test = Found);
  finally
    FreeAndNil(Dict)
  end;
  Readln;
end. 

Lazarus screen: https://imgur.com/a/yNg4g1Q

Docs: https://docwiki.embarcadero.com/CodeExamples/Sydney/en/Generics_Collections_TDictionary_(Delphi)

Исправление fsb4000, :

А как там пишется map<string, map<string,int>> ?

Так TDictionary<string, TDictionary<string,int32>>;

program Project1;
{$MODE DELPHI}
{$APPTYPE CONSOLE}

uses
  SysUtils, Math, Types, Generics.Collections, Generics.Defaults;

var
  Dict: TDictionary<string, TDictionary<string, int32>>;
  Test: TDictionary<string, int32>;
  Found: TDictionary<string, int32>;
begin
  Dict := TDictionary<string, TDictionary<string, int32>>.Create;
  try
    Test := TDictionary<string, int32>.Create;
    Dict.AddOrSetValue('test', Test);

    Dict.TryGetValue('blah', Found);
    writeln(nil = Found);

    Dict.TryGetValue('test', Found);
    writeln(Test = Found);
  finally
    FreeAndNil(Dict)
  end;
  readln;
end. 

Lazarus screen: https://imgur.com/a/yNg4g1Q

Docs: https://docwiki.embarcadero.com/CodeExamples/Sydney/en/Generics_Collections_TDictionary_(Delphi)

Исходная версия fsb4000, :

Так TDictionary<string, TDictionary<string,int32>>;

program Project1;
{$MODE DELPHI}
{$APPTYPE CONSOLE}

uses
  SysUtils, Math, Types, Generics.Collections, Generics.Defaults;

var
  Dict: TDictionary<string, TDictionary<string, int32>>;
  Test: TDictionary<string, int32>;
  Found: TDictionary<string, int32>;
begin
  Dict := TDictionary<string, TDictionary<string, int32>>.Create;
  try
    Test := TDictionary<string, int32>.Create;
    Dict.AddOrSetValue('test', Test);

    Dict.TryGetValue('blah', Found);
    writeln(nil = Found);

    Dict.TryGetValue('test', Found);
    writeln(Test = Found);
  finally
    FreeAndNil(Dict)
  end;
  readln;
end. 

Lazarus screen: https://imgur.com/a/yNg4g1Q

Docs: https://docwiki.embarcadero.com/CodeExamples/Sydney/en/Generics_Collections_TDictionary_(Delphi)