2012-04-03 4 views
0

콘솔에 인쇄 된 내용을 내 코드의 다음 줄에 변수 값으로 지정하려고합니다. $ stdout에서 가능합니까?Ruby에서 콘솔 출력을 값으로 일부 변수에 할당하는 방법은 무엇입니까?

예를 들어 콘솔에 압축 해제 된 배열 값 하나를 인쇄하고 있습니다. 이제 코드의 다음 줄에 오는 변수 값으로이 인쇄 된 값을 사용하고 싶습니다. 예를 들어 puts "\nPageSize:\n#{c1}\n"은 단일 요소 배열 인 7117을 인쇄합니다. 이제이 인쇄 된 값을이 변수 코드 x의 정수 x로 할당하여 다음 코드 행의 puts "\nPageSize:\n#{c1}\n"에 할당하려고합니다.

+0

Ruby에 대한 기본적인 소개를 먼저 읽어야합니다. –

답변

0

당신은 다음과 같이 지정할 수 있습니다 ...........

는 정수 유형의 첫 번째

intilize 변수

x = 0 

다음

x = c1 

    or 

    x = arr[0] 

또는으로 지정하면 원하는 .........

하지만 아무것도 반환하지 않으므로 인쇄 된 값을 일부 변수에 할당 할 수 없습니다. 너보다

일부 변수를 사용하고 그 값을 다른 변수에 할당하십시오.

0

IRB에서 당신은 마지막 식의 결과를 얻기 위해 특별한 밑줄 변수를 사용할 수 있습니다

> 2 + 2 
> x = _ 
> 4 

그러나 '풋'는 nil을 반환 이후

, 그것은 작동하지 않습니다. puts를 피하면 작동 할 것입니다.

0

일반적으로 작성한 내용을 표준 출력으로 되돌릴 수 없습니다. 너 원숭이 패치 puts 또는 IO 일 수있다. 그러나 나는 이것이 네가하고 싶은게 아니라고 생각한다.

당신이 값을 인쇄 할 수있는 경우, 당신은뿐만 아니라 (이미 c1[0]에 저장되어있는 사실) 변수에 할당 할 수 있습니다

puts "\nPageSize:\n#{c1}\n" 
x = c1[0] # or c1.first 

이상

x = c1[0] # or c1.first 
puts "\nPageSize:\n#{x}\n" 

무엇 #{c1} 보간 된 문자열의 일부가 의 to_s을 호출하여 String으로 변환하고 그 String을 삽입합니다. 따라서 [7117]"7117"으로 변환합니다.

관련 문제