2016-03-21 11 views
0

Grails framework kullanıyorum ve servis satırında bu satır kodları var. Bu kodda görüyorum, harita hayata geçirilmiş gibi görünüyor ama bu dosyada herhangi bir değişkene atanmadan nasıl çalışacağını anlamıyorum. Groovy - harita herhangi bir değişkene atanmamış

class ApprovalHeaderLEADEDService extends ApprovalHeaderService { 
    def generateTable(ApprovalHeader ah,BondingDiagram bd){ 

     def waferMountOrientation= findApprovalHeaderKitName(ah,bd,"WaferMountOrientation"); 
     def sawForModels = findApprovalHeaderKitName(ah,bd,"SawForModels"); 
     def sawBladeType1= findApprovalHeaderKitName(ah,bd,"SawBladeType1"); 

     [ 
      waferMountOrientation:waferMountOrientation, 
      sawForModels:sawForModels, 
      sawBladeType1:sawBladeType1 

     ] 
    } 

Bunu çalışmak veya bana haritası durumda bu tür okuyabilirsiniz herhangi bir referans önerir nasıl herkes bana açıklayabilir misiniz haritada bu

def map = [waferMountOrientation:waferMountOrientation, sawForModels:sawForModels, sawBladeType1:sawBladeType1] 

gibi görünecektir bekliyoruz?

cevap

3

Bu:

def generateTable(ApprovalHeader ah,BondingDiagram bd){ 

    def waferMountOrientation= findApprovalHeaderKitName(ah,bd,"WaferMountOrientation"); 
    def sawForModels = findApprovalHeaderKitName(ah,bd,"SawForModels"); 
    def sawBladeType1= findApprovalHeaderKitName(ah,bd,"SawBladeType1"); 

    [ 
     waferMountOrientation:waferMountOrientation, 
     sawForModels:sawForModels, 
     sawBladeType1:sawBladeType1 

    ] 
} 

bu aynı mı:

def generateTable(ApprovalHeader ah,BondingDiagram bd){ 

    def waferMountOrientation= findApprovalHeaderKitName(ah,bd,"WaferMountOrientation"); 
    def sawForModels = findApprovalHeaderKitName(ah,bd,"SawForModels"); 
    def sawBladeType1= findApprovalHeaderKitName(ah,bd,"SawBladeType1"); 

    def someMap = [ 
     waferMountOrientation:waferMountOrientation, 
     sawForModels:sawForModels, 
     sawBladeType1:sawBladeType1 

    ] 
    return someMap 
} 

aynı şeyi (aşağıdaki yöntemlerden hepsi aynı şekilde davranması) gösteren bir daha basit bir örnek :

def someMethod() { 
    42 
} 

def someMethod() { 
    return 42 
} 

def someMethod() { 
    def value = 42 
    value 
} 

def someMethod() { 
    def value = 42 
    return value 
}