Apakah ada cara untuk menggunakan fungsi pencari array sebagai syarat untuk fungsi pencari array? Sesuatu seperti berikut ini:

Saya tahu saya bisa mengulang array tetapi saya berharap metode yang lebih ringkas

module tb;
  typedef struct {
    string name;
    int id;
  } positions_t;

  typedef struct {
    positions_t positions[];
    string unit_name;
  } injector_t;

  injector_t injectors[$] = '{
    '{
      unit_name: "unit1",
      positions: '{
        '{name: "ha", id:0},
        '{name: "he", id:0},
        '{name: "hi", id:0}
      }
    }
  };

  injector_t filtered_injectors[$];

  initial begin
    // LIKE THIS!
    filtered_injectors = injectors.find with (
      item.positions.find with (item.name == "hi")
    );
    $display("filtered list = %p", filtered_injectors);
  end
endmodule

0
Arun D'souza 28 Maret 2019, 22:31

1 menjawab

Jawaban Terbaik

find mengembalikan antrian, jadi ini sepertinya berhasil

filtered_injectors = injectors.find with (
  item.positions.find with (item.name == "hi") != {}
);
0
Serge 29 Maret 2019, 10:36