초급 질문 :분할 Fixnum의 최소/최대 찾기? (루비)
나는 다음과 같은 코드가 있습니다
p true_columns
=> [["1", "88", "59"], ["2", "79", "63"], ["3", "77", "55"], ["4", "77", "59"], ["5", "90", "66"], ["6", "81", "61"], ["7", "73", "57"], ["8", "75", "54"], ["9", "86", "32*"], ["10", "84", "64"], ["11", "91", "59"], ["12", "88", "73"], ["13", "70", "59"], ["14", "61", "59"], ["15", "64", "55"], ["16", "79", "59"], ["17", "81", "57"], ["18", "82", "52"], ["19", "81", "61"], ["20", "84", "57"], ["21", "86", "59"], ["22", "90", "64"], ["23", "90", "68"], ["24", "90", "77"], ["25", "90", "72"], ["26", "97*", "64"], ["27", "91", "72"], ["28", "84", "68"], ["29", "88", "66"], ["30", "90", "45"]]
내 문제는 목록에이 데이터를 분할 할 수와의 최소/최대를 찾을 수있을 것입니다 큰 세트 내의 각 배열의 두 번째와 세 번째 값 사이의 차이. 아니 깨끗한 코드,하지만 나와 함께 곰 :
true_columns.each do |data|
difference = data[1].to_i - data[2].to_i
difference_string = difference.to_s.split(" ")
print difference_string
end
=> ["29"]["16"]["22"]["18"]["24"]["20"]["16"]["21"]["54"]["20"]["32"]["15"]["11"]["2"]["9"]["20"]["24"]["30"]["20"]["27"]["27"]["26"]["22"]["13"]["18"]["33"]["19"]["16"]["22"]["45"]
의 모든 종류의 최소/최대/[X] 원래 difference_string을 연결,보다 기본적인 무언가로 "difference_string"감소 뭔가를 반환 명령. 예 :
print difference_string.min
=> 2916221824201621542032151129202430202727262213183319162245
나는 그 Fixnum이라는 양식되고 원래의 변수를 함께 할 수있는 뭔가가 생각, 그리고 내가 difference_string.min 뭔가를 당길 수있는 목록에 그 변환하는 방법을 모르겠어요. 또한 누군가가 나에게 왜 min/max 명령이 위의 형식으로 데이터를 줄이는 지에 대한 설명을 줄 수 있다면, 그것은 굉장 할 것입니다.
편집 : 참고로, 상단에 내 코드이었다 :
file = File.open("file.dat")
columns = []
file.each_line do |line|
p line
columns << line.split(" ")[0 , 3]
end
허 :
방법
min_max_by
는 (배열 등) 모든 enumerables 사용할 수있다? 그래서'difference'는 정수 여야합니다 (두 정수의 차이이기 때문에)하지만 문자열 표현을 공백으로 분리하려고합니까? 정수에 공백이있는 이유는 무엇입니까? – maerics