반응형

Ruby 10

해시 각 루프에서 인덱스에 액세스할 수 있습니까?

해시 각 루프에서 인덱스에 액세스할 수 있습니까? 저는 분명한 것을 놓치고 있을 것입니다만, 각 루프의 해시 내에서 반복의 인덱스/카운트에 액세스할 수 있는 방법이 있습니까? hash = {'three' => 'one', 'four' => 'two', 'one' => 'three'} hash.each { |key, value| # any way to know which iteration this is # (without having to create a count variable)? } 각 반복의 인덱스를 알고 싶다면 사용할 수 있습니다..each_with_index hash.each_with_index { |(key,value),index| ... } 키를 반복하여 값을 수동으로 꺼낼 수 있습니다. h..

programing 2023.07.10

파일 텍스트에서 패턴을 검색하고 지정된 값으로 바꾸는 방법

파일 텍스트에서 패턴을 검색하고 지정된 값으로 바꾸는 방법 파일(또는 파일 목록)에서 패턴을 검색하고 찾을 경우 해당 패턴을 지정된 값으로 바꿀 스크립트를 찾고 있습니다. 생각은?고지 사항: 이 접근 방식은 Ruby의 기능을 단순하게 보여주는 것이지 파일의 문자열을 대체하기 위한 프로덕션급 솔루션이 아닙니다.충돌, 인터럽트 또는 디스크가 꽉 찬 경우와 같은 다양한 장애 시나리오가 발생할 수 있습니다.이 코드는 모든 데이터가 백업되는 빠른 일회성 스크립트 이외에는 적합하지 않습니다.따라서 이 코드를 프로그램에 복사하지 마십시오. 여기 그것을 하는 빠른 방법이 있습니다. file_names = ['foo.txt', 'bar.txt'] file_names.each do |file_name| text = Fil..

programing 2023.06.10

루비의 콘솔에서 입력을 읽으시겠습니까?

루비의 콘솔에서 입력을 읽으시겠습니까? 루비로 간단한 A+B 프로그램을 작성하고 싶은데, 콘솔을 어떻게 사용해야 할지 모르겠습니다.당신이 말하는 것은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명령줄을 통해 매개 변수를 전달할 수도 있습니다.명령줄 인수는 ARGV 배열에 저장됩니다. 따라서 ARGV[0]는 첫 번째 숫자이고 ARGV[1]는 두 번째 숫자입니다. #!/usr..

programing 2023.06.05

종료 메시지 작성 방법

종료 메시지 작성 방법 프로그램을 종료하고 메시지를 표시하는 한 줄 기능 호출이 있습니까?Perl에서는 다음과 같이 간단합니다. die("Message goes here") 입력하는 것이 지겹습니다. puts "Message goes here" exit 그abort함수는 이를 수행합니다.예: abort("Message goes here") 참고: 더abort메시지가 다음에 기록됩니다.STDERR와는 반대로puts그것은 편지를 쓸 것입니다.STDOUT.코드의 실제 오류를 나타내려면 다음을 제기할 수 있습니다.RuntimeError예외: raise RuntimeError, 'Message goes here' 스택 추적, 제기 중인 예외 유형 및 제공한 메시지가 인쇄됩니다.사용자에 따라 스택 추적이 너무 무서..

programing 2023.06.05

루비의 문자열 이름으로 클래스 인스턴스를 만들려면 어떻게 해야 합니까?

루비의 문자열 이름으로 클래스 인스턴스를 만들려면 어떻게 해야 합니까? 클래스의 이름을 가지고 있으며 해당 클래스의 인스턴스를 만들어 해당 클래스의 스키마에 있는 각 레일 특성을 루프할 수 있도록 합니다. 제가 그걸 어떻게 해야 할까요? 확인할 클래스의 문자열로 이름을 가지고 있습니다. 클래스 인스턴스를 인스턴스화해야 다음 작업을 수행할 수 있습니다. 속성을 반복해서 인쇄합니다. 레일에서는 다음을 수행할 수 있습니다. clazz = 'ExampleClass'.constantize 순수한 루비: clazz = Object.const_get('ExampleClass') 모듈 포함: module Foo class Bar end end 당신은 사용할 것입니다. > clazz = 'Foo::Bar'.split('..

programing 2023.06.05

RSpeclet()을 사용해야 하는 경우

RSpeclet()을 사용해야 하는 경우 인스턴스(instance) 변수를 설정할 때 블럭 앞에 사용하는 경향이 있습니다.그런 다음 이러한 변수를 사용하여 예를 들어 보겠습니다.나는 최근에 우연히let()RSpec 문서에 따르면, 그것은 다음과 같이 사용됩니다. 메모화된 도우미 메서드를 정의합니다.이 값은 동일한 예에서 여러 호출에 걸쳐 캐시되지만 예제에서는 캐시되지 않습니다. 블록 앞에 인스턴스 변수를 사용하는 것과 어떻게 다릅니까?또한 언제 사용해야 합니까?let() 대before()?나는 항상 선호합니다.let다음과 같은 이유로 인스턴스 변수에 추가됩니다. 인스턴스 변수는 참조될 때 존재합니다., 변수의 됩니다.nil이는 미묘한 버그와 잘못된 긍정으로 이어질 수 있습니다. 때부터let메소드를 만들면..

programing 2023.05.31

레일 인증 토큰 이해

레일 인증 토큰 이해 레일즈의 인증 토큰이란 무엇입니까?어떻게 됩니까? 를 생성업데이트 또는 볼때의 "Discreate", "를 .authenticity_token이 토큰을 세션에 저장하고 양식의 숨겨진 필드에 배치합니다.는 사자가양제레다찾습다니음을는일즈면출용을 .authenticity_token에서는 이 값을 세션에 저장된 값과 비교하고 일치하는 경우 요청을 계속할 수 있습니다. 발생하는 이유 인증 토큰은 세션에 저장되므로 클라이언트가 해당 값을 알 수 없습니다.이렇게 하면 사용자가 해당 응용프로그램 자체에서 양식을 보지 않고도 해당 응용프로그램에 양식을 제출할 수 없습니다.당신이 A 서비스를 사용하고 있고, 서비스에 로그인했고 모든 것이 정상이라고 상상해 보세요.이제 당신이 B 서비스를 이용하러 가서..

programing 2023.05.31

루비의 선행 0

루비의 선행 0 나는 들판이 있습니다.hr그리고.min두 정수 모두 내 지원서에 있습니다.위해서hr필드에서 사용자가 "1"을 입력하면 데이터베이스에 저장하기 전에 레일즈가 자동으로 "01"에 패딩하기를 원합니다.의 경우에도min필드에 "0"을 입력하면 "00"으로 입력해야 합니다. 어떻게 해야 하나요?정수로 저장하고 런타임에 설명한 대로 표시하는 것이 좋습니다.모든 언어에는 0을 패딩하는 고유한 방법이 있습니다. Ruby의 경우 String#rjust를 사용할 수 있습니다.이 메서드는 주어진 패딩 문자를 사용하여 주어진 길이가 되도록 문자열을 패딩합니다(오른쪽 맞춤). str.rjust(integer, padstr=' ') → new_str 한다면integer의 길이보다 큼str새 항목을 반환합니다.St..

programing 2023.05.31

여러 매개 변수를 전달하는 루비 전송 방법

여러 매개 변수를 전달하는 루비 전송 방법 객체 및 호출 메서드를 동적으로 만들려고 합니다. Object.const_get(class_name).new.send(method_name,parameters_array) 다음과 같은 경우에 잘 작동합니다. Object.const_get(RandomClass).new.send(i_take_arguments,[10.0]) 하지만 1과 2의 주장의 수를 잘못 던집니다. Object.const_get(RandomClass).new.send(i_take_multiple_arguments,[25.0,26.0]) 정의된 랜덤 클래스는 다음과 같습니다. class RandomClass def i_am_method_one puts "I am method 1" end def i..

programing 2023.05.31

루비의 메서드 이름을 사용하여 문자열에서 메서드 호출

루비의 메서드 이름을 사용하여 문자열에서 메서드 호출 여기서 그들이 말하는 것을 루비에서 어떻게 해야 합니까? 당신은 물체에 대한 기능을 어떻게 할 것입니까?그리고 글로벌 기능을 어떻게 수행하시겠습니까( 언급된 게시물에 있는 jetxee의 답변 참조)? 코드 예제: event_name = "load" def load() puts "load() function was executed." end def row_changed() puts "row_changed() function was executed." end #something here to see that event_name = "load" and run load() 업데이트: 글로벌 방법에 어떻게 접근합니까?아니면 나의 글로벌 기능? 저는 이 추가적인..

programing 2023.05.31
반응형