Najlepszy samouczek Ruby Blok W 2024 r. W tym samouczku możesz dowiedzieć się gramatyka,yield,Bloki i metody,BEGIN i END bloki,
Wiesz już, jak zdefiniować metody Ruby i jak wywołać metodę. Podobnie Ruby koncepcję bloku.
block_name{ statement1 statement2 plplplplpl }
Tutaj dowiesz się, jak korzystać z prostych instrukcjiyieldzadzwonić bloku. Dowiesz się również jak korzystać z instrukcjiyieldz parametrami do zwanym bloku. Na przykład, można zobaczyć dwa rodzaje instrukcjiyield.
Spójrzmy na przykład oświadczenie wydajność:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test puts "在 test 方法内" yield puts "你又回到了 test 方法内" yield end test {puts "你在块内"}
Przykłady powyższych wyników operacyjnych, co następuje:
在 test 方法内 你在块内 你又回到了 test 方法内 你在块内
Można także przekazać oświadczenie o parametrach wydajności. Oto przykład:
#!/usr/bin/ruby # -*- coding: UTF-8 -*- def test yield 5 puts "在 test 方法内" yield 100 end test {|i| puts "你在块 #{i} 内"}
Przykłady powyższych wyników operacyjnych, co następuje:
你在块 5 内 在 test 方法内 你在块 100 内
Tutaj, poyieldnastępuje parametry. Można nawet przekazać wiele parametrów. W bloku można umieścić zmienną pomiędzy dwoma pionowymi kreskami, aby zaakceptować parametry. Zatem w powyższym kodzie, wydajność 5 Oświadczenie jest przekazywana jako parametr do wartości 5 sztuk testowych.
Teraz spójrz na następujące oświadczenie:
test {|i| puts "你在块 #{i} 内"}
Tutaj, wartość 5 otrzyma zmiennej i. Teraz stawiamy obserwować następujące oświadczenie:
puts "你在块 #{i} 内"
Stawia to oświadczenie wyjście jest:
你在块 5 内
Jeśli chcesz przekazać wiele parametrów, a następnie stwierdzeniewydajnośćjest w następujący sposób:
yield a, b
W tym czasie, jak pokazano w bloku:
test {|a, b| statement}
Parametry oddzielone przecinkami.
Widzieliście pomiędzy blokiem i sposobu, w jaki ze sobą powiązane. Zwykle stosowane oświadczenie wydajności wywołuje blok z metody o tej samej nazwie. W związku z tym, że kod jest w następujący sposób:
#!/usr/bin/ruby def test yield end test{ puts "Hello world"}
Ten przykład jest najprostszym sposobem osiągnięcia bloku. Za pomocą zestawieniewydajnościwywołuje blok testowy.
Ale jeśli ostatni parametr przed zastosowaniem metody z & wtedy można metoda jest przekazywana do bloku i ten blok może być przypisany do ostatniego parametru. Jeśli * i & również pojawi się na liście parametrów i powinien być umieszczony na plecach.
#!/usr/bin/ruby def test(&block) block.call end test { puts "Hello World!"}
Przykłady powyższych wyników operacyjnych, co następuje:
Hello World!
Każdy plik źródłowy Ruby może zadeklarować, kiedy bloki kodu (blok BEGIN), gdy plik zostanie załadowany do pracy, jak i po zakończeniu wykonywania programu bloki kodu do uruchomienia (blok końcowy).
#!/usr/bin/ruby BEGIN { # BEGIN 代码块 puts "BEGIN 代码块" } END { # END 代码块 puts "END 代码块" } # MAIN 代码块 puts "MAIN 代码块"
Program może zawierać wiele rozpoczynać i kończyć bloków. BEGIN blok jest wykonywany w kolejności, w jakiej występują. Bloki koniec, jak pojawiają się one w odwrotnej kolejności. Po wykonaniu powyższego programu daje następujące wyniki:
BEGIN 代码块 MAIN 代码块 END 代码块