그래서 저는 텍스트 파일을 개별 줄로 나눈 다음 구분 기호 문자를 기준으로 줄을 그룹화하는 루비 코드를 작성했습니다. 이 출력은 HTML에 텍스트 파일을 내보내는 메서드에 전달되는 배열에 기록됩니다. 다른 방법으로 gsub를 사용하여 HTML 텍스트 파일의 자리 표시자를 record
배열의 값으로 대체하려고 시도했을 때 문제가 발생하기 시작했습니다. Ruby는 계속 0 값을 전달한다고 말했습니다. 몇 시간 동안 프로그램의 일부분을 디버깅하려고 시도한 후에, 나는 다른 곳을보기로 결심했다. 프로그램의 수정 된 버전이 아래에 게시됩니다. 여기 Ruby : 배열의 모든 문자열 끝에 'nil'이있는 이유는 무엇입니까?
26188
WHL
1
Delco
B-7101
A-63
208-220/440
3
285 w/o pallet
1495.00
C:/img_converted/26188B.jpg
EDM Machine Part 2 of 3
AC Motor, 3/4 Hp, Frame 182, 1160 RPM
|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|
내가 함께 테스트를 봤는데 코드의 조각입니다 : 여기
는 입력 텍스트 파일의 샘플입니다
# function to import file as a string
def file_as_string(filename)
data = ''
f = File.open(filename, "r")
f.each_line do |line|
data += line
end
return data
end
Dir.glob("single_listing.jma") do |filename|
content = file_as_string(filename)
content = content.gsub(/\t/, "\n")
database_array = Array.new
database_array = content.split("|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|")
for i in database_array do
record = Array.new
record = i.split("\n")
puts record[0]
puts record[0].class end
end
그 코드가 실행되면, I
[email protected]:~/code/ruby/idealm_db_parser$ ruby putsarray.rb
26188
String
nil
NilClass
... record
각 배열 위치가 명백하게한다는 것을 의미한다 :이 출력을 얻을 유형 String
및 유형이 nil
인 데이터가 있습니다. 왜 이런거야?
'file_as_string (fn)'은 단순히'File.read (fn)'일 수 있습니다. 'Array.new'라고하는 두 행을 모두 생략 할 수도 있습니다. – pilcrow
아, 알았어. 감사. – eckza