최고의 루비 블록 튜토리얼 2024년, 이 튜토리얼에서는 문법,yield문,블록 및 방법,BEGIN 및 END 블록,를 배울 수 있습니다.
당신은 이미 루비 방법을 정의하는 방법을 당신이 메서드를 호출 방법을 알고있다. 마찬가지로, 루비 블록의 개념을 갖는다.
block_name{ statement1 statement2 kokokokoko }
여기에서 블록을 호출하는 간단한yield문을 사용하는 방법을 배우게됩니다. 또한 호출 된 블록에 매개 변수로항복문을 사용하는 방법을 배우게됩니다. 예, 당신은yield문의 두 가지 유형을 볼 수 있습니다.
예제를 수율 문을 살펴 보자 :
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test puts "在 test 方法内" yield puts "你又回到了 test 方法内" yield end test {puts "你在块内"}
위의 운영 결과의 예는 다음과 같습니다 :
在 test 方法内 你在块内 你又回到了 test 方法内 你在块内
또한 매개 변수를 yield 문을 통과 할 수 있습니다. 다음은 그 예이다 :
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test yield 5 puts "在 test 方法内" yield 100 end test {|i| puts "你在块 #{i} 内"}
위의 운영 결과의 예는 다음과 같습니다 :
你在块 5 内 在 test 方法内 你在块 100 内
여기서,yield문은 매개 변수를 다음 후. 당신은 여러 매개 변수를 전달할 수 있습니다. 블록에서는 매개 변수를 허용하는 두 개의 수직 바 사이에 변수를 배치 할 수 있습니다. 따라서, 상기 코드에서, 수율 5 문 5 시험편의 값을 매개 변수로 전달된다.
이제 다음 문을 보면 :
test {|i| puts "你在块 #{i} 内"}
여기, 5의 값은 변수 난을 받게됩니다. 이제, 우리는 다음과 같은 성명을 준수 넣어 :
puts "你在块 #{i} 内"
이것은 출력 문이 둔다 :
你在块 5 内
여러 매개 변수를 전달하려면 다음과 같이 다음yield문은 다음과 같습니다
yield a, b
이때, 블록에 나타낸 바와 같이 :
test {|a, b| statement}
매개 변수는 쉼표로 구분.
당신은 블록과 어떻게 상호의 방법 사이 보았다. 통상, 수율 문은 동일한 이름을 갖는 방법에서 블록을 호출 사용한다. 다음 따라서, 코드 :
#!/usr/bin/ruby def test yield end test{ puts "Hello world"}
이 예는 블록을 달성하는 가장 간단한 방법입니다. 당신은yield문은 테스트 블록을 호출하여 사용할 수 있습니다.
및 상기 방법으로 전의 마지막 파라미터는 다음 상기 방법은 블록을 전달하고, 수 있다면이 블록은 마지막 매개 변수에 할당 될 수있다. 만약 * 및 또한 매개 변수 목록에 표시, 뒷면에 배치해야합니다.
#!/usr/bin/ruby def test(&block) block.call end test { puts "Hello World!"}
위의 운영 결과의 예는 다음과 같습니다 :
Hello World!
모든 루비 소스 파일 선언 할 때, 코드 블록 (블록 BEGIN) 파일을 실행하는로드 프로그램 후 (END 블록)을 실행하는 코드 블록 실행이 완료 될 때.
#!/usr/bin/ruby BEGIN { # BEGIN 代码块 puts "BEGIN 代码块" } END { # END 代码块 puts "END 代码块" } # MAIN 代码块 puts "MAIN 代码块"
프로그램은 여러 BEGIN과 END 블록을 포함 할 수 있습니다. BEGIN 블록들이 나타나는 순서대로 실행된다. END 블록들은 역순으로 나타나는. 실행될 때, 상기 프로그램은 다음과 같은 결과를
BEGIN 代码块 MAIN 代码块 END 代码块