Лучшее руководство по Рубин Блок в 2024 году. В этом руководстве вы можете изучить грамматика,заявлениевыход,Блоки и методы,Начинайте и заканчивайте блоки,
Рубин Блок
Вы уже знаете, как определить метод Ruby, и как вы вызовите метод. Кроме того, Ruby имеет концепцию блока.
- Блок состоит из большого количества кода.
- Вам нужно взять имя блока.
- Блок-код всегда заключен в фигурные скобки {} внутри.
- Из чего она всегда блокирует вызов функции с тем же именем. Это означает , что если ваше имя блока длятеста,то вы хотите использовать для вызова этойтестовойфункции блока.
- Вы можете использовать операторвыход, чтобы вызвать блок.
грамматика
block_name{ statement1 statement2 rururururu }
Здесь вы узнаете , как использовать простой операторвыход, чтобы вызвать блок. Вы также узнаете , как использовать оператордоходностис параметрами к вызываемому блоку. В примере, вы увидите два типа заявлениядоходности.
заявлениевыход
Давайте посмотрим на пример оператора доходности:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test puts "在 test 方法内" yield puts "你又回到了 test 方法内" yield end test {puts "你在块内"}
Примеры вышеуказанных операционных результатов в следующем порядке:
在 test 方法内 你在块内 你又回到了 test 方法内 你在块内
Вы также можете передать заявление выход с параметрами. Вот пример:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test yield 5 puts "在 test 方法内" yield 100 end test {|i| puts "你在块 #{i} 内"}
Примеры вышеуказанных операционных результатов в следующем порядке:
你在块 5 内 在 test 方法内 你在块 100 内
Здесь, после того, как операторвыходаследуют параметры. Вы можете даже передать несколько параметров. В блоке, вы можете поместить переменную между двумя вертикальными черточками, чтобы принять параметры. Таким образом, в приведенном выше коде, выход 5 оператор передается в качестве параметра к значению 5 испытательных образцов.
Теперь посмотрим на следующее заявление:
test {|i| puts "你在块 #{i} 内"}
Здесь, значение 5 получит переменную I. Теперь мы помещаем соблюдать следующее заявление:
puts "你在块 #{i} 内"
Это ставит выход утверждение:
你在块 5 内
Если вы хотите передать несколько параметров, то оператордоходностивыглядит следующим образом :
yield a, b
В это время, как показано в блоке:
test {|a, b| statement}
Параметры разделяются запятыми.
Блоки и методы
Вы видели между блоком и способа, как связаны между собой. Как правило, используется оператор выхода вызывает блок из метода с тем же именем. Таким образом, код выглядит следующим образом:
#!/usr/bin/ruby def test yield end test{ puts "Hello world"}
Этот пример является самым простым способом для достижения блока. Вы можете использовать операторвыходвызывает контрольный блок.
Но если последний параметр перед методом с &, то вы можете метод передается блок, и этот блок может быть назначен последним параметром. Если * и & также появляются в списке параметров, и должны быть размещены на задней панели.
#!/usr/bin/ruby def test(&block) block.call end test { puts "Hello World!"}
Примеры вышеуказанных операционных результатов в следующем порядке:
Hello World!
Начинайте и заканчивайте блоки
Каждый исходный файл Рубин может объявить, когда блоки кода (НАЧАТЬ блок) при загрузке файла для запуска, а также после завершения программы завершает выполнение блоков кода для запуска (конец блока).
#!/usr/bin/ruby BEGIN { # BEGIN 代码块 puts "BEGIN 代码块" } END { # END 代码块 puts "END 代码块" } # MAIN 代码块 puts "MAIN 代码块"
Программа может содержать несколько Начинайте и заканчивайте блоки. НАЧАТЬ блок выполняется в том порядке, в котором они появляются. END блоки, как они появляются в обратном порядке. При выполнении выше программа дает следующие результаты:
BEGIN 代码块 MAIN 代码块 END 代码块