In reply to poojanm2002:
The unique array method returns element not the expression enclosed in with clause.Concider following example
module top();
int q[$];
int result[$];
initial begin
q={1,2,3,4,4,5};
$display("queue 'q' : %p", q);
result.delete();
result = q.unique(item)with(item>3);
$display("using unique: %p", result);
result.delete();
result = q.unique(item)with((item>3)*item);
$display("using unique *item : %p", result);
end
endmodule : top
================
queue ‘q’ : '{1, 2, 3, 4, 4, 5}
using unique: '{1, 4} //**Few simulators treats 1,2,3 as 1’s ,others treat them as 0’s
using unique *item : '{1, 4, 5}