답변:
당신은 말하고 gets있습니까?
puts "Enter A"
a = gets.chomp
puts "Enter B"
b = gets.chomp
c = a.to_i + b.to_i
puts c
그런 거요?
Kernel.gets에서 찾은 매개 변수를 읽으려고 시도하고 찾을 ARGV수없는 경우에만 콘솔을 요청합니다 ARGV. ARGV비어 있지 않은 경우에도 콘솔에서 읽도록 강제하려면STDIN.gets
Kernel.gets에서 찾은 파일을 읽고 찾을 ARGV수없는 경우에만 콘솔에 요청합니다 ARGV. ARGV비어 있지 않더라도 콘솔에서 읽도록 강제하려면을 사용하십시오 STDIN.gets.
a.to_i그리고 b.to_i더 좋을 수
gets차단? 그렇지 않은 경우 차단하는 대체품이 있습니까?
명령 줄을 통해 매개 변수를 전달할 수도 있습니다. 명령 줄 인수는 ARGV 배열에 저장됩니다. 따라서 ARGV [0]은 첫 번째 숫자이고 ARGV [1]은 두 번째 숫자입니다.
#!/usr/bin/ruby
first_number = ARGV[0].to_i
second_number = ARGV[1].to_i
puts first_number + second_number
그리고 당신은 이것을 이렇게 부릅니다
% ./plus.rb 5 6
==> 11
사용자로부터 입력을받는 방법에는 여러 가지가 있습니다. 나는 개인적으로 방법을 사용하는 것을 좋아합니다. gets를 사용 하면 입력 한 문자열 을 가져 오며 여기에는 입력 을 끝내기 위해 누른 ENTER 키가 포함됩니다 .
name = gets
"mukesh\n"
irb 에서 이것을 볼 수 있습니다 . 이것을 입력하면 ENTER 키가 생성하는 "개행"문자 인 \ n
name = gets이 표시됩니다 . 입력 하면 다음과 같은 내용이 표시됩니다 . chomp 방법을 사용하여"mukesh\n"성가신 개행 문자를 제거 할 수 있습니다 .
chomp 메서드는 문자열을 되돌려 주지만 줄 바꿈을 끝내지 않습니다. 아름다운 씹는 방법 생명 구세주.
name = gets.chomp
"mukesh"
터미널을 사용하여 입력을 읽을 수도 있습니다. ARGV 는 Object 클래스에 정의 된 상수 입니다. Array 클래스 의 인스턴스이며 모든 배열 메서드에 액세스 할 수 있습니다. 배열이기 때문에 상수 임에도 불구하고 문제없이 요소를 수정하고 지울 수 있습니다. 기본적으로 Ruby는 명령 줄 바이너리가 호출 될 때 Ruby 프로그램에 전달 된 모든 명령 줄 인수 (공백으로 분할)를 캡처하여 ARGV 배열에 문자열로 저장합니다 .
Ruby 프로그램 내에서 작성되면 ARGV 는 다음과 같은 명령 줄 명령을받습니다.
test.rb hi my name is mukesh
다음과 같은 배열을 만듭니다.
["hi", "my", "name", "is", "mukesh"]
그러나 제한된 입력을 전달하려면 다음과 같이 사용할 수 있습니다.
test.rb 12 23
프로그램에서 다음과 같은 입력을 사용하십시오.
a = ARGV[0]
b = ARGV[1]
대화 형 콘솔을 만들려면 :
#!/usr/bin/env ruby
require "readline"
addends = []
while addend_string = Readline.readline("> ", true)
addends << addend_string.to_i
puts "#{addends.join(' + ')} = #{addends.sum}"
end
사용법 (위의 스 니펫을 summator현재 디렉토리의 파일에 넣었다고 가정 ) :
chmod +x summator
./summator
> 1
1 = 1
> 2
1 + 2 = 3
Ctrl + D종료하는 데 사용