홈>
설명하기 어려울 수 있지만 시도하겠습니다.
다음을 포함하는 텍스트 파일이 있다고합시다 :
variable one
I'm variable 2
300
False
I am variable 5
이와 같은 파일이 여러 개 있다고 가정하고 각 파일의 내용을 모릅니다. 파일의 각 줄을 가져 와서 변수에 넣고 싶습니다.
예를 들어이 파일은 이러한 변수가됩니다 (if
를 사용하여 문자열, 숫자 및 부울로 정렬 할 수 있음).
진술) :
var1 = "variable one"
var2 = "I'm variable 2"
var3 = 300
var4 = False
var5 = "I am variable 5"
이 줄을 여러 줄의 파일에 적용 할 수 있는지 확인하고 싶습니다.
다음은 코드가 다음과 같은 코드의 예입니다.
File.open("file.txt").each do |line|
var.new = "var" + line.line_number #creates new variable named "var" and the line number
var = line
end
나는 완전히 혼란에 빠졌기 때문에 누군가가 이것을 이해하고 이해하기를 바랍니다. 나는 여기에 모든 사람들이 일반적으로 알고 있고 그것을 잃어 버렸거나 모르는 간단한 해결책이 있다고 생각합니다.
감사합니다, Reece
- 답변 # 1
- 답변 # 2
여기서 배열을 원하는 것 같습니다. 이를 위해 파일을 한 줄에 하나씩 배열로 직접 읽을 수 있습니다.
array_of_lines = File.readlines("file.txt") array_of_lines[0] => "variable one\n" array_of_lines[1] => "300\n"
etc
- 답변 # 3
이 구문 분석 로직이 내장 된 클래스로 구현할 수 있습니다 (주어진 예제 만 처리했습니다) :
class VarGroup attr_reader :vars def initialize(file_name) @vars = File.foreach(file_name).map do |l| if l =~ /(True|False)/i l.match?(/True/i) else begin Integer(l) rescue ArgumentError l.strip end end end end def method_missing(method_name,*args,&block) if method_name =~ /var(\d+)/ && $1.to_i.nonzero? && $1.to_i <= vars.size @vars[$1.to_i - 1] else super end end end
그러면 다음과 같이 호출 할 수 있습니다
v = VarGroup.new('test.txt') v.vars #=> ["variable one", "I'm variable 2", 300, false, "I am variable 5"] (1..6).each do |n| p v.public_send("var#{n}") end # "variable one" # "I'm variable 2" # 300 # false # "I am variable 5" # undefined method `var6' for #<VarGroup:0x000055a23e2f64e0>
관련 자료
- python 3.x - 한 번에 여러 변수에 변수 양 할당
- r - 연도 열에 따라 더미 변수 만들기 (피벗)
- sql - ID별로 그룹화 된 여러 범주 형 변수 및 상호 작용 효과가있는 데이터 프레임을 만들려면 어떻게해야합니까?
- html - PHP foreach 루프를 사용하여 PHP 변수로 DOM ID 만들기
- 신속한 일반 변수 사전 만들기
- r - 다른 변수를 기반으로 다른 변수로 새 변수 만들기
- javascript - 동일한 배열에서 두 개의 다른 변수를 만듭니다
- python - 사용자 입력 문자열에서 사용자 정의 변수를 사용하여 문자열 만들기
- r - ggplot2의 두 범주 형 변수에서 x 축 레이블을 어떻게 생성합니까?
- R의 요인 변수 열에서 별도의 열 만들기
- powerbi - dax - 두 개의 변수를 기반으로 두 개의 출력을 생성하는 방법
- angular - typescript에서 알 수없는 속성 수를 가진 인터페이스를 만드는 방법은 무엇입니까?
- r - 문자 벡터에서 데이터 프레임에 더미 변수를 어떻게 생성합니까?
- dataframe - 요약 ()에 서로 일치하는 두 변수의 양을 계산할 수있는 R 함수가 있습니까?
- SAS - sas - 동적 매크로 변수를 사용하여 데이터 단계 변수 생성
- Excel 값을 읽고 PowerShell의 열 이름에서 변수 만들기
- PHP로 for 루프에서 변수 목록을 만드는 방법
- python - 변수가 다른 열에서 오는 함수로 열 만들기
- for loop - 계수 및 변수의 R 데이터 프레임에서 공식 생성
- PHP 배열을 검색하고 결과가있는 경우 고유 한 변수를 만드는 방법은 무엇입니까?
이것은 귀하의 질문에 대한 답변이지만, 실제로 귀하의 응용 프로그램에 중요한 방식 으로이 작업을 수행해야합니다.
이것이 유일한 방법 일 수도 있고 "최상의"방법 일 필요는 없지만 제 생각에는 가장 간단합니다 :
False
를 변환하려면 그리고300
문자열로부터 – 파일에서 읽는 방법 – 루비 객체로, 수동 파싱을해야합니다. 말해봐파일을 배열로만 읽고 싶을 수도 있습니다.