수색…


매개 변수

깃발 의미
"아르 자형" 읽기 전용, 파일의 시작 부분에서 시작합니다 (기본 모드).
"r +" 읽기 - 쓰기, 파일의 시작 부분에서 시작합니다.
"w" 쓰기 전용, 기존 파일을 길이가 0으로 자르거나 쓰기 위해 새 파일을 만듭니다.
"w +" 읽기 - 쓰기, 기존 파일을 길이가 0으로 자르거나 읽기 및 쓰기 용으로 새 파일을 만듭니다.
"에이" 쓰기 전용, 파일이 있으면 파일의 끝에서 시작하고 그렇지 않으면 쓰기를 위해 새 파일을 만듭니다.
"a +" 읽기 - 쓰기, 파일이 있으면 파일 끝에서 시작하고, 그렇지 않으면 읽기 및 쓰기 용으로 새 파일을 만듭니다.
"비" 이진 파일 모드. Windows에서 EOL <-> CRLF 변환을 억제합니다. 명시 적으로 지정하지 않는 한 외부 인코딩을 ASCII-8BIT로 설정합니다. 이 플래그는 위의 플래그와 함께 만 표시 될 수 있습니다 (예 : File.new("test.txt", "rb")test.txtread-only 모드로 binary 파일로 엽니 다.)
"티" 텍스트 파일 모드. 예를 들어, File.new("test.txt", "wt")test.txtwrite-only 모드로 text 파일로 엽니 다. File.new("test.txt", "wt") 이 플래그는 위의 플래그와 함께 만 표시 될 수 있습니다.

문자열을 파일에 쓰는 중

문자열은 File 클래스의 인스턴스를 사용하여 File 쓸 수 있습니다.

file = File.new('tmp.txt', 'w')
file.write("NaNaNaNa\n")
file.write('Batman!\n')
file.close

File 클래스는 또한 open 메소드를 사용하여 newclose 연산을 간단하게 제공합니다.

File.open('tmp.txt', 'w') do |f|
  f.write("NaNaNaNa\n")
  f.write('Batman!\n')
end

간단한 쓰기 작업의 경우 문자열을 File.write 를 사용하여 파일에 직접 쓸 수도 있습니다. 이 옵션은 기본적으로 파일을 덮어 씁니다.

File.write('tmp.txt', "NaNaNaNa\n" * 4 + 'Batman!\n')

File.write 다른 모드를 지정하려면 해시에서 mode 라는 키 값으로 다른 매개 변수로 전달하십시오.

File.write('tmp.txt', "NaNaNaNa\n" * 4 + 'Batman!\n', { mode: 'a'})

파일 열기 및 닫기

수동으로 파일을 열고 닫습니다.

# Using new method
f = File.new("test.txt", "r") # reading
f = File.new("test.txt", "w") # writing
f = File.new("test.txt", "a") # appending

# Using open method
f = open("test.txt", "r")

# Remember to close files
f.close

블록을 사용하여 파일을 자동으로 닫습니다.

f = File.open("test.txt", "r") do |f|
  # do something with file f
  puts f.read # for example, read it
end

입력의 단일 문자 가져 오기

gets.chomp 와 달리 개행을 기다리지 않습니다.

stdlib의 첫 번째 부분이 포함되어야합니다.

require 'io/console'

그런 다음 도우미 메서드를 작성할 수 있습니다.

def get_char
  input = STDIN.getch
  control_c_code = "\u0003"
  exit(1) if input == control_c_code
  input
end

그것의 ' control+c 를 누르면 종료하는 것이 중요합니다.

STDIN에서 읽기

# Get two numbers from STDIN, separated by a newline, and output the result
number1 = gets
number2 = gets
puts number1.to_i + number2.to_i
## run with: $ ruby a_plus_b.rb
## or:       $ echo -e "1\n2" | ruby a_plus_b.rb

ARGV로 인수 읽기

number1 = ARGV[0]
number2 = ARGV[1]
puts number1.to_i + number2.to_i
## run with: $ ruby a_plus_b.rb 1 2


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow