2012-01-16 5 views
0

:Grails의 :에 println은 가끔 작동하거나 뭔가 내가 새로운 Grails의 프로젝트를하고 부트 스트랩에 넣고

ExpandoMetaClass.enableGlobally() 

Integer.metaClass.precision = {->return 1} 
println 3.precision() 
println "rofl" 
println 15.precision() 

그리고 내가 실행 - 응용 프로그램의 인쇄 기대하지 :

1 
rofl 
1 

그러나 내가 println "rofl"을 꺼내면 그 두 번째 것은 인쇄되지 않습니다. 그것은 단지 하나의 rofl없이 인쇄 ... WTF?

다시, 이것은 나에게,이 코드 어떤 이해가되지 않습니다 변경할 수 없기 :

ExpandoMetaClass.enableGlobally() 

Integer.metaClass.precision = {->return 1} 
println 3.precision() 
//println "rofl" 
println 15.precision() 

인쇄 :

1 

답변

0

마이키, 나는 이유 생각할 수 없다. 다른 환경에서 시도해 볼 수 있습니까? Groovy 버전 : 1.8.0 JVM : 1.6.0_20, Win7, Grails 2 BootStrap 및 Grails Controller 액션에서이 작업을 신속하게 시도해 보았습니다. "내 작품"이라고해서 유감스럽게 생각합니다. 그래서 내가 생각할 수있는 것은 어떻게 든 당신이 사용하고있는 버전이나 그것이 어떻게 설정되어 있는지에 관한 것입니다. 이걸 어떻게 달리고 있니?

+0

STS 2.8.1 우분투 11.10의 Grails 1.3.7. 아마 grails 2를 시험해 볼 시간 ... – Mikey

+0

당신은 컨트롤러를 무엇을 사용하고 있습니까? 부트 스트랩에 모든 코드가 있습니다. 또한 나는 내 grails와 그루비를 업그레이 드했습니다. 그래도 작동이 안되는. – Mikey

+0

컨트롤러에서 킥을 시도했지만 확실히 부트 스트랩을 시도했습니다. STS에서 확실하지 않습니까? STS 또는 커맨드 라인 또는 대화식에서 실행하고 있습니까? 내가 생각할 수있는 것은 다른 곳에서 시도하는 것이지만, 나는 그것이 당신이 지난 몇 시간 동안 시도한 것임을 짐작하고있다. – Steve

0

이것은 우분투 기본 설정이며 JVM과 관련이 없습니다. 콘솔이 동일한 경우 라인을 반복하지 않습니다. 사용 중지 할 때이 대답을 업데이트합니다.