2009-06-15 3 views
12

Tôi không chắc chắn khi nào chính xác tôi cần sử dụng toán tử dấu chấm. Nếu tôi có một danh sách như:Nhà điều hành dấu phẩy Groovy

def animals = ['ant', 'buffalo', 'canary', 'dog'] 

Bởi vì cả hai animals và các thành viên trong danh sách có một phương pháp kích thước(), sau đó để có phương pháp gọi trên các yếu tố của danh sách (chứ không phải là danh sách chính nó), tôi cần phải sử dụng:

animals*.size() 

hơn:

animals.size() 

Tuy nhiên, hãy xem xét các biểu thức sau đây trả về một danh sách các tên phương pháp mà có sẵn trên t anh lớp String

String.metaClass.methods.name 

Làm thế nào để biết Groovy (mà không sử dụng các nhà điều hành lây lan-dot) mà tôi muốn name tài sản để được lấy ra từ mỗi phần tử của danh sách được trả về bởi String.metaClass.methods, chứ không phải là danh sách riêng của mình? Có một bộ quy tắc để sử dụng trong trường hợp này như:

  • Nếu phương pháp/bất động sản tồn tại trên danh sách, gọi nó vào Danh sách
  • Nếu không cố gắng gọi nó cho mỗi phần tử của Danh sách

Cảm ơn, Don

+0

Es magico. – Randolpho

Trả lời