Lohkot, Proc-objektit ja lambdat
Ymmärrätte, miten Ruby käsittelee nimettömiä funktioita lohkojen, Proc-objektien ja lambdojen avulla.
Lohkot, Proc-objektit ja lambdat on ilmainen Ruby Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/3. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Ruby Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Ruby Academy-kurssilla on yhteensä 3 oppituntia.
Lohkot, Procs ja Lambdas
Ruby tarjoaa tehokkaita tapoja käsitellä uudelleenkäytettäviä koodin osia lohkojen, Procsien ja Lambdojen avulla.
Tässä oppitunnissa opitte käyttämään näitä käsitteitä tehokkaasti.

Mikä on lohko?
Lohko on koodinpätkä, joka on suljettu do ... end-rakenteen tai aaltosulkeiden { ... } väliin.
[1, 2, 3].each do |num|
puts num * 2
endYksiriviset lohkot
Yksinkertaisissa toiminnoissa voitte käyttää aaltosulkeita {} rakenteen do ... end sijaan.
[1, 2, 3].each { |num| puts num * 2 }Lohkojen välittäminen metodeille
Lohkoja voi välittää metodeille, kuten each-, map- ja times-metodeille.
5.times { puts 'Hello, Ruby!' }Mikä on Proc?
Proc on objekti, joka tallentaa koodilohkon ja jonka voi suorittaa myöhemmin.
say_hello = Proc.new { puts 'Hello from Proc!' }
say_hello.callArgumenttien välittäminen Procille
Procs voi ottaa argumentteja aivan kuten metodit.
square = Proc.new { |num| num * num }
puts square.call(4)Mikä on Lambda?
Lambda muistuttaa Procia, mutta tarkistaa argumentit tiukemmin.
greet = ->(name) { puts "Hello, #{name}!" }
greet.call('Alice')Procien ja Lambdojen erot
- Procs ohittavat ylimääräiset argumentit, kun taas Lambdas edellyttävät täsmällistä määrää argumentteja.
- Lambdas palauttavat hallinnan kutsuvalle metodille, kun taas Procs poistuvat välittömästi.
proc_example = Proc.new { return 'Proc Exited' }
lambda_example = -> { return 'Lambda Executed' }
def test
puts proc_example.call
puts lambda_example.call
end
testOnnittelut!
Olette oppineet käyttämään lohkoja, Procseja ja Lambdoja Rubyssä.
Seuraavaksi tutustutte yield-avainsanaan ja lohkojen välittämiseen dynaamisesti.

Opi Ruby tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 29
- Oppitunnit
- 109
Usein kysytyt kysymykset
Onko oppitunti ”Lohkot, Proc-objektit ja lambdat” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Ruby Academy-oppimispolun 3 oppituntia, myös oppitunnin “Lohkot, Proc-objektit ja lambdat”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Ruby Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Lohkot, Proc-objektit ja lambdat”?
Ymmärrätte, miten Ruby käsittelee nimettömiä funktioita lohkojen, Proc-objektien ja lambdojen avulla. Harjoittelet Ruby Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Ruby Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Ruby Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/3.
Kuinka kauan ”Lohkot, Proc-objektit ja lambdat”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Ruby Academy-oppitunnilla?
Kyllä. Jokainen Ruby Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Metodien määrittäminen
- Lohkot, Proc-objektit ja lambdat
- Yield ja lohkojen välittäminen