2012-11-08 2 views
55

주어진 모델의 모든 인스턴스를 반복하고 각각의 출력을 끝에서 모두 출력하면 irb은 여전히 ​​전체 개체를 인쇄합니다.루프 끝에서 루프 콘솔이 출력하지 못하도록합니다.

개체가 수백 줄을 차지하면 결국 내가 실제로 찾고 있던 것을 볼 수 있습니다. 레일 콘솔에서 이것을 비활성화하는 방법이 있습니까?

답변

74

일반적으로 에코를 비활성화하지 않으려면 하나의 명령 줄에서 여러 표현식을 호출 할 수도 있습니다. 마지막 표현식의 출력 만 표시됩니다.

big_result(input); 0 
+2

이것은 실제로 내가 원했던 것입니다. –

+2

훌륭합니다. 고마워요! 아주 간단합니다. – blindsnowmobile

75

conf.echo = false으로 전화를 걸면 반환 값이 인쇄되지 않습니다. 이것은 레일스 콘솔뿐만 아니라 모든 irb 세션에서 작동합니다.

영구 유지하려면 irb 구성에 추가하십시오.

+0

항상 기본값으로 설정 하시겠습니까? –

+0

@Accipheran 레일즈 이니셜 라이저에 넣어 두는 것이 효과적 일 것이라고 생각합니다. – lulalala

+0

응답 주셔서 감사합니다. 실제로 내 .irbrc 파일에서'IRB.conf [: ECHO] = false'라는 줄을 그냥 버리는 것을 발견했습니다. 물론 내 모든 irb 세션에서 에코가 돌아 왔지만 괜찮습니다. –

24

일시적으로 만 수익을 누르기 전에 당신이 당신의 루프 또는 함수의 끝에서 nil 문을 실행할 수있는 반환 값을 인쇄에서 콘솔을 중지하십시오.

record.each do |r| 
    puts r.properties 
end; nil 

입력을 줄이려면 숫자가 될 수도 있습니다. 그러나 그것은 내가 생각할 수없는 시나리오에서는 혼란 스러울 수 있습니다.

record.each do |r| 
    puts r.properties 
end; 0 
+0

도움이되었습니다. 감사 –