README.md in bato-0.0.13 vs README.md in bato-0.0.15

- old
+ new

@@ -1,662 +1,854 @@ # Bato -Ang 'Bato Programming Language' ay isang scripting language sa wikang Filipino. +Ang **Bato Programming Language** ay isang scripting language sa wikang +*Filipino*. -Subukan ang [Bato](https://trybato.herokuapp.com/) gamit ang *interactive online console* . +Ang layunin ng proyektong ito ay upang mag turo ng *Computer Programming* sa +wikang *Filipino*, sa madaling maintindihang wika upang matutuhan ito. +Subukan ang [Bato *interactive online console*](https://trybato.herokuapp.com/). + +## Media + +* Yukihiro Matzumoto (Chief Designer of Ruby) - https://twitter.com/yukihiro_matz/status/962193256929832960 +* The Register - https://www.theregister.co.uk/2018/03/21/philippines_ruby_bato +* Speed Magazine - https://www.speedmagazine.ph/bato-tagalog-programming-language-by-joel-bryan-juliano/ +* University of the Philippines (UPLB Mathematical Sciences Society) - https://twitter.com/uplbmass1973/status/1429684834511716355 +* De La Salle University (Access DLSU) - https://www.facebook.com/AccessDLSU/posts/1666465890181933 +* San Beda University (BITS San Beda) - https://www.facebook.com/BITSSanBeda/photos/a.476052709434852/1391553414551439 +* Philippine Web Design Organization (Form Function Class) - https://twitter.com/ffcph/status/1015212784089534464 +* FullStack HQ - https://twitter.com/fullstackhq/status/1429035930640388106 +* Programmer Ako - https://www.facebook.com/ProgrammerLang/posts/808487952978981 +* Algo Filipino - https://www.facebook.com/AlgoFilipino/posts/149472316929258 +* Binalatongan Community College (BITS) - https://www.facebook.com/BinalatonganCommunityCollegeBITS/posts/207649374632071 +* Philippine Insider TV (YouTube) - https://www.facebook.com/philippineinsidertv/posts/186868113430790 +* Jeck's Tech Nook - https://www.facebook.com/jeck.tech.nook/posts/442902100786391 +* YCombinator Hacker News - https://twitter.com/hnbot/status/951816054161977344 + ## Pagtatalaga -Kailangan mo munang i-install ang Ruby programming language (version 1.9.3 o mas bago) -at pagkatapos maitalaga ang Ruby, i-run naman ito +Kailangan mo munang *i-install* ang Ruby programming language (version 3.0.1 o mas +bago) at pagkatapos maitalaga ang Ruby, *i-run* naman ito - gem install bato +```shell +gem install bato +``` ## Bakit Bato? -Ang 'bato' ay hango sa [Ruby Programming Language](http://www.ruby-lang.org/) na may Filipino sintaks. -Ang kadahilanang ginamit ang pangalang 'bato' ay dahil ang Ruby ay isang uri ng bato. +Ang **bato** ay hango sa [Ruby Programming Language](http://www.ruby-lang.org/) +na may *Filipino* sintaks. Ang kadahilanang ginamit ang pangalang 'bato' ay +dahil ang Ruby ay isang uri ng bato. ## Ang unang program Gumawa ng isang file na `kamusta_mundo.bt` na may mga sumusunod na nilalaman - kapag 1 > 0 - mag_print "Kumusta mundo!" - kung_hindi - mag_print "Mayroong sira" - wakas +```ruby +kapag 1 > 0 + mag_print "Kumusta mundo!" +kung_hindi + mag_print "Mayroong sira" +wakas +``` at pa-andarin ang program sa pamamagitan ng - bato kamusta_mundo.bt +```shell +bato kamusta_mundo.bt +``` ## Sintaks ### Pagsusulat - "Ito ay mga serye ng mga sulat sa wikang Filipino" - <<-KATAPUSAN - mga salita - na nahahati - sa ilang mga hilera - KATAPUSAN +```ruby +"Ito ay mga serye ng mga sulat sa wikang Filipino" +<<-KATAPUSAN + mga salita + na nahahati + sa ilang mga hilera +KATAPUSAN +``` ### Dinikit na mga pamamaraan - 'magandang araw'.baliktad # => 'wara gnadnagam' - 'Pangungusap'.haba # => 11 +```ruby +'magandang araw'.baliktad # => 'wara gnadnagam' +'Pangungusap'.haba # => 11 +``` + ### Ekspresyong Boolean - tama - mali - hindi tama +```ruby +tama +mali +hindi tama +``` ### Kondisyon Paggamit ng kondisyon. - kapag halaga > 100 dapat - "ayos lang" - kung_kapag halaga > 0 dapat - "ok lang" - kung_hindi - "wala lang" - wakas - kung_sakaling halaga - pagka 5 dapat "lima" - pagka 4 dapat "apat" - kung_hindi "wala" - wakas +```ruby +halaga = 100 +mensahe = kapag halaga > 100 dapat + "ayos lang" +kung_kapag halaga > 0 dapat + "ok lang" +kung_hindi + "wala lang" +wakas + +mag_print mensahe + +mensahe = + kung_sakaling halaga + pagka 5 dapat "lima" + pagka 4 dapat "apat" + kung_hindi "wala" + wakas + +mag_print mensahe +``` + ### Pamamaraan sa pagkakamali - bilang_ng_pagkakamali = 0 - simula - # mag komento kapag hindi sigurado - 1 / 0 - iligtas => pagkakamali - bilang_ng_pagkakamali += 1 - subukang_muli kapag bilang_ng_pagkakamali < 3 - iangat "malubhang pagkakamali" - siguraduhing - mag_print "Tapos na" - wakas +NOTE: Hindi ito gagana sa online compiler, ngunit sa pag *i-install* lang sa +iyon computer. Tignan ang seksiyon na [Pagtatalaga](#Pagtatalaga) +```ruby +bilang_ng_pagkakamali = 0 +simula + # mag komento kapag hindi sigurado + 1 / 0 +iligtas => pagkakamali + bilang_ng_pagkakamali += 1 + subukang_muli kapag bilang_ng_pagkakamali < 3 + iangat "malubhang pagkakamali" +siguraduhing + mag_print "Tapos na" +wakas +``` + ### Panuntunan - ang iprintAngPangalan(pangalan = wala) - kapag pangalan != wala - mag_print "Magandang araw sa iyo #{pangalan}!" - kung_hindi - mag_print "Magandang araw!" - wakas +```ruby +ang iprintAngPangalan(pangalan = wala) + mensahe = + kapag pangalan != wala + "Magandang araw sa iyo #{pangalan}!" + kung_hindi + "Magandang araw!" wakas + + mag_print mensahe +wakas - iprintAngPangalan "Maria" # => "Magandang araw sa iyo Maria!" - iprintAngPangalan # => "Magandang araw!" +iprintAngPangalan "Maria" # => "Magandang araw sa iyo Maria!" +iprintAngPangalan # => "Magandang araw!" +``` ## Paggamit ng mga ekspresyon ng mga salita sa program ### wakas Maari kang gumamit sa alin sa mga sumusunod sa pagtatapos ng program - wakas - dulo - katapusan - +```ruby +wakas +dulo +katapusan +``` Halimbawa - bilang_ng_saging = 2 - kapag bilang_ng_saging > 1 - mag_print "Mayroon akong #{bilang_ng_saging} saging! 🍌" - kung_hindi - mag_print "Wala na akong saging! 😐" - wakas +```ruby +bilang_ng_saging = 2 +mensahe = + kapag bilang_ng_saging > 1 + "Mayroon akong #{bilang_ng_saging} saging! 🍌" + kung_hindi + "Wala na akong saging! 😐" + wakas + +mag_print mensahe +``` ### kung_iba Kapag ang ekspresyon ay hindi nasunod maaring gumamit sa alin sa mga sumusunod - iba - kung_iba - kung_hindi - kung_hindi_naman - kapag_hindi - kapag_hindi_naman - kung_hindi_pa - kapag_hindi_pa - at_kung_hindi - at_kapag_hindi - at_kung_hindi_naman - at_kapag_hindi_naman - at_kapag_hindi_pa - at_kung_hindi_pa - maliban_dito - maliban_sa_mga_ito +```ruby +iba +kung_iba +kung_hindi +kung_hindi_naman +kapag_hindi +kapag_hindi_naman +kung_hindi_pa +kapag_hindi_pa +at_kung_hindi +at_kapag_hindi +at_kung_hindi_naman +at_kapag_hindi_naman +at_kapag_hindi_pa +at_kung_hindi_pa +maliban_dito +maliban_sa_mga_ito +``` Halimbawa - pangalan_mo = "Maliksi" - kapag_ang pangalan_mo == "Maliksi" - mag_print "Ikaw ay si #{pangalan_mo}!" - kung_hindi_naman - mag_print "Magandang araw sa iyo #{pangalan_mo}!" - wakas +```ruby +pangalan_mo = "Maliksi" +mensahe = + kapag_ang pangalan_mo == "Maliksi" + "Ikaw ay si #{pangalan_mo}!" + kung_hindi_naman + "Magandang araw sa iyo #{pangalan_mo}!" + wakas + +mag_print mensahe +``` ### sakali -Kapag mayroon kang ekspresyon na madaming resulta gawa ng mga iba't ibang kondisyon, maari kang gumamit ng mga sumusunod +Kapag mayroon kang ekspresyon na madaming resulta gawa ng mga iba't ibang +kondisyon, maari kang gumamit ng mga sumusunod - sakaling - sakali - kung_sakaling - sakali_na - kung_sakali_na - kalagayan - kaukulan +```ruby +sakaling +sakali +kung_sakaling +sakali_na +kung_sakali_na +kalagayan +kaukulan +``` Halimbawa - pangalan_mo = "Mabait" +```ruby +pangalan_mo = "Mabait" - sakaling pangalan_mo - ay "Maliksi" - mag_print "Ikaw ay si Maliksi!" - ay "Matipuno" - mag_print "Ikaw ay si Matipuno!" - ay "Mabait" - mag_print "Ikaw ay si Mabait!" - maliban_dito - mag_print "Magandang araw sa iyo!" - wakas +mensahe = + sakaling pangalan_mo + ay "Maliksi" + "Ikaw ay si Maliksi!" + ay "Matipuno" + "Ikaw ay si Matipuno!" + ay "Mabait" + "Ikaw ay si Mabait!" + maliban_dito + "Magandang araw sa iyo!" + wakas +mag_print mensahe +``` ### tiyakin -Kung mayroon kang ekspresyon na gusto mong masunod kahit ano pa ang kahihinatnan nito, gumamit ng mga sumusunod +Kung mayroon kang ekspresyon na gusto mong masunod kahit ano pa ang kahihinatnan +nito, gumamit ng mga sumusunod - tiyaking - matiyak - tiyakin - siguraduhing - siguraduhin - panigurado +NOTE: Hindi ito gagana sa online compiler, ngunit sa pag *i-install* lang sa +iyon computer. Tignan ang seksiyon na [Pagtatalaga](#Pagtatalaga) +```ruby +tiyaking +matiyak +tiyakin +siguraduhing +siguraduhin +panigurado +``` + Halimbawa - simulan - itaas "May sira!" - agapan - mag_print "Ipagpatuloy..." - itaas "May nasira na na-agapan" - tiyaking - mag_print "Tapos na" - wakas +```ruby +simulan + itaas "May sira!" +agapan + mag_print "Ipagpatuloy..." + itaas "May nasira na na-agapan" +tiyaking + mag_print "Tapos na" +wakas +``` ### grupo Ang grupo ay ang lalagyanan ng mga kabilang na klase sa iyong program - grupo +```ruby +grupo +``` Halimbawa - grupo Hayop - KABUUAN = 5 +```ruby +grupo Hayop + KABUUAN = 5 - bilang Aso - ang tahol - mag_print "Woof..." - wakas + bilang Aso + ang tahol + mag_print "Woof..." + wakas - ang kumanin - mag_print "..." - wakas + ang kumanin + mag_print "..." + wakas - ang ikembot_ang_buntot - mag_print "Ginagawa ko ito dahil masaya ako!" - wakas - wakas + ang ikembot_ang_buntot + mag_print "Ginagawa ko ito dahil masaya ako!" wakas + wakas +wakas - dami = 6 - browny = Hayop::Aso.kumatawan - browny.ikembot_ang_buntot kapag dami >= Hayop::KABUUAN +dami = 6 +browny = Hayop::Aso.kumatawan +browny.ikembot_ang_buntot kapag dami >= Hayop::KABUUAN +``` ### ngunit_kapag -Gumamit ng ngunit_kapag kapag mayroon ka pang kondisyon maliban sa nauna ng kondisyon +Gumamit ng ngunit_kapag kapag mayroon ka pang kondisyon maliban sa nauna ng +kondisyon - ngunit_kapag - kung_kapag - ngunit_kapag_ang - kung_kapag_ang +```ruby +ngunit_kapag +kung_kapag +ngunit_kapag_ang +kung_kapag_ang +``` Halimbawa - pangalan_mo = "Masipag" - kapag_ang pangalan_mo == "Matipuno" - mag_print "Ikaw ay si Matipuno!" - ngunit_kapag_ang pangalan_mo == "Masipag" - mag_print "Ikaw ay si Masipag!" - maliban_sa_mga_ito - mag_print "Wala kang rekord saamin!" - wakas +```ruby +pangalan_mo = "Masipag" +kapag_ang pangalan_mo == "Matipuno" + mag_print "Ikaw ay si Matipuno!" +ngunit_kapag_ang pangalan_mo == "Masipag" + mag_print "Ikaw ay si Masipag!" +maliban_sa_mga_ito + mag_print "Wala kang rekord saamin!" +wakas +``` ### ang Ang ang ay may kalakip na pangalan upang ito ay matawag sa program - ang - panuntunan - panuntunang +```ruby +ang +panuntunan +panuntunang +``` Halimbawa - ang id(estudyante = {}) - pangalan = estudyante[:pangalan] - edad = estudyante[:edad] - tirahan = estudyante[:tirahan] - baitang = estudyante[:baitang] - seksiyon = estudyante[:seksiyon] +```ruby +ang id(estudyante = {}) + pangalan = estudyante[:pangalan] + edad = estudyante[:edad] + tirahan = estudyante[:tirahan] + baitang = estudyante[:baitang] + seksiyon = estudyante[:seksiyon] - mag_print <<-KATAPUSAN - Pangalan: #{pangalan} - Edad: #{edad} - Tirahan: #{tirahan} - Baitang: #{baitang} - Seksiyon: #{seksiyon} - KATAPUSAN - wakas + mag_print <<-KATAPUSAN + Pangalan: #{pangalan} + Edad: #{edad} + Tirahan: #{tirahan} + Baitang: #{baitang} + Seksiyon: #{seksiyon} + KATAPUSAN +wakas - id({ - pangalan: "Maliksi Batubalani", - edad: "13", - tirahan: "Ilocos", - baitang: "6", - seksiyon: "Masisipag" - }) +id({ + pangalan: "Maliksi Batubalani", + edad: "13", + tirahan: "Ilocos", + baitang: "6", + seksiyon: "Masisipag" +}) +``` ### agapan -Ang agapan ay ginagamit kung mayroon maaaring mangyaring pagkakamali na gusto mong maisalba o mailigtas +Ang agapan ay ginagamit kung mayroon maaaring mangyaring pagkakamali na gusto +mong maisalba o mailigtas - iligtas - agapan +```ruby +iligtas +agapan +``` Halimbawa - simulan - 1 / 0 - agapan - mag_print "Hindi ito posible!" - wakas +```ruby +simulan + 1 / 0 +agapan + mag_print "Hindi ito posible!" +wakas +``` ### dapat Kapag mayroon kang ekspresyon na mayroong inaasahan na resulta, gumamit ng dapat - dapat +```ruby +dapat +``` Halimbawa - panulat_mo = "lapis" +```ruby +panulat_mo = "lapis" - papel = sakaling panulat_mo - ay "lapis" dapat "bond paper" - ay "ballpen" dapat "dilaw na papel" - maliban_sa_mga_ito "intermediate paper" - wakas +papel = sakaling panulat_mo + ay "lapis" dapat "bond paper" + ay "ballpen" dapat "dilaw na papel" + maliban_sa_mga_ito "intermediate paper" +wakas - mag_print "Ang papel na gagamitin mo ay #{papel}" +mag_print "Ang papel na gagamitin mo ay #{papel}" +``` ### magbigay_daan -Kapag ang ekspresyon ay mayroong inaasahang dapat na ibigay na resulta habang gumagana pa ang program, gumamit ng magbigay_daan +Kapag ang ekspresyon ay mayroong inaasahang dapat na ibigay na resulta habang +gumagana pa ang program, gumamit ng magbigay_daan - magbigay_daan - bigyang_daan +```ruby +magbigay_daan +bigyang_daan +``` Halimbawa - ang gumawaNgID - mag_print "------------------------------------------" - magbigay_daan - mag_print "------------------------------------------" - wakas +```ruby +ang gumawaNgID + mag_print "------------------------------------------" + magbigay_daan + mag_print "------------------------------------------" +wakas - ang ID(impormasyon = {}) - gumawaNgID na_ganito - mag_print <<-KATAPUSAN - Pangalan: #{impormasyon[:pangalan]} - Edad: #{impormasyon[:edad]} - Tirahan: #{impormasyon[:tirahan]} - Baitang: #{impormasyon[:baitang]} - Seksiyon: #{impormasyon[:seksiyon]} - KATAPUSAN - wakas - wakas +ang ID(impormasyon = {}) + gumawaNgID na_ganito + mag_print <<-KATAPUSAN + Pangalan: #{impormasyon[:pangalan]} + Edad: #{impormasyon[:edad]} + Tirahan: #{impormasyon[:tirahan]} + Baitang: #{impormasyon[:baitang]} + Seksiyon: #{impormasyon[:seksiyon]} + KATAPUSAN + wakas +wakas - ID({ - pangalan: "Maliksi Batubalani", - edad: "13", - tirahan: "Ilocos", - baitang: "6", - seksiyon: "Masisipag" - }) +ID({ + pangalan: "Maliksi Batubalani", + edad: "13", + tirahan: "Ilocos", + baitang: "6", + seksiyon: "Masisipag" +}) +``` ### para_sa Kapag may listahan na nais mong isa isahin, gumamit ng para_sa - para_sa - para_ang +```ruby +para_sa +para_ang +``` Halimbawa - listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"] - para_sa prutas na_nasa listahan_ng_mga_prutas ganito_gawin - mag_print prutas.sa_malaking_titik - wakas +```ruby +listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"] +para_sa prutas na_nasa listahan_ng_mga_prutas ganito_gawin + mag_print prutas.sa_malaking_titik +wakas +``` ### subukang_muli -Ginagamit ang subukang_muli upang umikot muli ang ekspresyon kung may sirang nangyari at nais mo ulit subukan pa andarin +Ginagamit ang subukang_muli upang umikot muli ang ekspresyon kung may sirang +nangyari at nais mo ulit subukan pa andarin - subukang_muli +```ruby +subukang_muli +``` Halimbawa - bilang_ng_pagkakamali = 0 - simula - 1 / 0 - agapan => pagkakamali - bilang_ng_pagkakamali += 1 - subukang_muli kapag bilang_ng_pagkakamali < 3 - iangat "malubhang pagkakamali" - siguraduhing - mag_print "Tapos na" - wakas +```ruby +bilang_ng_pagkakamali = 0 +simula + 1 / 0 +agapan => pagkakamali + bilang_ng_pagkakamali += 1 + subukang_muli kapag bilang_ng_pagkakamali < 3 + iangat "malubhang pagkakamali" +siguraduhing + mag_print "Tapos na" +wakas +``` ### ibalik Kapag mayroon kang ibabalik na resulta sa nagtawag ng ang - ibalik - ibalik_ang - magbalik - magbalik_nang - isauli - isauli_ang - ibigay - ibigay_ang - magbigay - magbigay_nang +```ruby +ibalik +ibalik_ang +magbalik +magbalik_nang +isauli +isauli_ang +ibigay +ibigay_ang +magbigay +magbigay_nang +``` Halimbawa - ang magdagdag_ng_isa(halaga) - idadagdag = halaga + 1 - ibalik_ang halaga - wakas +```ruby +ang magdagdag_ng_isa(halaga) + idadagdag = halaga + 1 + ibalik_ang halaga +wakas +``` ### kapag Ginagamit ang kapag kung meron kang kondisyon sa iyong ekspresyon - kapag - kapag_ang - kapag_na_ang - kung - kung_ang +```ruby +kapag +kapag_ang +kapag_na_ang +kung +kung_ang +``` Halimbawa - kapag_ang 1 > 0 - mag_print "mas madami!" - kung_iba - mag_print "may sira" - wakas +```ruby +kapag_ang 1 > 0 + mag_print "mas madami!" +kung_iba + mag_print "may sira" +wakas +``` ### bilang Ang bilang ay ang pagsasabilang ng isang kaukulang klasipikasyon - bilang +```ruby +bilang +``` Halimbawa - grupo Tinapay - bilang Donut - ang flavor - mag_print 'Strawberry!' - wakas - wakas +```ruby +grupo Tinapay + bilang Donut + ang flavor + mag_print 'Strawberry!' wakas + wakas +wakas - tinapay = Tinapay::Donut.kumatawan - tinapay.flavor - => 'Strawberry!' +tinapay = Tinapay::Donut.kumatawan +tinapay.flavor +=> 'Strawberry!' +``` ### habang Gumamit ng habang kung may hinihintay pa na resulta, kondisyon o pangyayari - habang - habang_ang +```ruby +habang +habang_ang +``` Halimbawa - may_buhay = totoo +```ruby +may_buhay = totoo - habang may_buhay - mag_print 'may pag-asa!' - hinto - wakas - => 'may pag-asa!' +habang may_buhay + mag_print 'may pag-asa!' + hinto +wakas +=> 'may pag-asa!' +``` ### alyas -Gumamit ng alyas kung kailangan mo tawagin sa ibang pangalan ang iyong panuntunan +Gumamit ng alyas kung kailangan mo tawagin sa ibang pangalan ang iyong +panuntunan - alyas +```ruby +alyas +``` Halimbawa - bilang Hayop - ang aso - mag_print 'si browny ay mabait!' - wakas - alyas browny aso - wakas +```ruby +bilang Hayop + ang aso + mag_print 'si browny ay mabait!' + wakas + alyas browny aso +wakas - hayop = Hayop.kumatawan - hayop.browny - => 'si browny ay mabait!' +hayop = Hayop.kumatawan +hayop.browny +=> 'si browny ay mabait!' +``` ### nakatukoy? -Ang nakatukoy? ay ginagamit kung kailangan malaman kung umiiral ang isang grupo o klase. +Ang nakatukoy? ay ginagamit kung kailangan malaman kung umiiral ang isang grupo +o klase - nakatukoy? - nakasaad? +```ruby +nakatukoy? +nakasaad? +``` Halimbawa - grupo Manggagawa - bilang Magsasaka - ang pananim - ['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].isaisahin na_ganito |pananim| - mag_print "Mag tatanim ng #{pananim} ngayong panahon" - wakas - wakas +```ruby +grupo Manggagawa + bilang Magsasaka + ang pananim + ['sibuyas', 'kamatis', 'palay', 'mais'].isaisahin na_ganito |pananim| + mag_print "Mag tatanim ng #{pananim} ngayong panahon" wakas wakas + wakas +wakas - kung nakatukoy?(Manggagawa::Magsasaka) - mag_print 'May nakatukoy!' - wakas +kung nakatukoy?(Manggagawa::Magsasaka) + mag_print 'May nakatukoy!' +wakas +``` ### tanggalin Ginagamit ang tanggalin kung may tatanggaling panuntunan sa isang klase - tanggalin - magtanggal +```ruby +tanggalin +magtanggal +``` Halimbawa - grupo Hayop - bilang Aso - ang tahol - mag_print 'baw waw!' - wakas - wakas +```ruby +grupo Hayop + bilang Aso + ang tahol + mag_print 'baw waw!' wakas + wakas +wakas - bilang Pusa < Hayop::Aso - tanggalin tahol - ang meow - mag_print 'meow wahu!' - wakas - wakas +bilang Pusa < Hayop::Aso + tanggalin tahol + ang meow + mag_print 'meow wahu!' + wakas +wakas - pusa = Pusa.kumatawan +pusa = Pusa.kumatawan - simulan - pusa.tahol - agapan => pagkakamali - mag_print "ang pagkakamali ay '#{pagkakamali}'" - wakas +simulan + pusa.tahol +agapan => pagkakamali + mag_print "ang pagkakamali ay '#{pagkakamali}'" +wakas +``` ### ihinto Gumamit ng 'hinto' kung may nais kang matapos na kondisyon gamit ang 'habang' - ihinto - hinto +```ruby +ihinto +hinto +``` Halimbawa - nakamit = mali +```ruby +nakamit = mali - habang nakamit == mali - mag_print 'hindi pa nakakamit!' - hinto - wakas +habang nakamit == mali + mag_print 'hindi pa nakakamit!' + hinto +wakas - mag_print 'nakamit na!' +mag_print 'nakamit na!' +``` ### sa Ginagamit ang 'sa' kung nais mong matukoy ang kasulukuyang listahan - sa - sa_loob_ng - nasa - na_nasa +```ruby +sa +sa_loob_ng +nasa +na_nasa +``` Halimbawa Tignan ang [para_sa](#para_sa) ### ganito Ginagamit ang 'ganito' kung nais mong i konteksto ang kasulukuyang listahan - na_ganito - nang_ganito - ganito +```ruby +na_ganito +nang_ganito +ganito +``` Halimbawa Tignan ang [magbigay_daan](#magbigay_daan), [nakatukoy?](#nakatukoy?) ### hanggang Ang 'hanggang' ay magpapatuloy tumakbo hanggang maabot ang tamang kundisyon. - hanggang - hanggang_ang - mapa_hanggang +```ruby +hanggang +hanggang_ang +mapa_hanggang +``` Halimbawa - numero = 0 - panghuling_numero = 5 - simula - mag_print "Ang numero ay #{numero} na" - numero += 1 - wakas hanggang numero < panghuling_numero +```ruby +pambilang = 0 +panghuling_numero = 5 +simula + mag_print "Ang numero ay #{pambilang} na" + pambilang += 1 +wakas hanggang pambilang < panghuling_numero +``` ### maliban_na - malibang - maliban_na - maliban_ang +```ruby +malibang +maliban_na +maliban_ang +``` Halimbawa - mga_persona = [ - { pangalan: 'Gener', kasarian: 'lalaki' }, - { pangalan: 'Karmen', kasarian: 'babae' } - ] +```ruby +mga_persona = [ + { pangalan: 'Gener', kasarian: 'lalaki' }, + { pangalan: 'Karmen', kasarian: 'babae' } +] - mga_persona.isaisahin ng_ganito |tao| - malibang tao[:kasarian] == 'lalaki' - mag_print "si #{tao[:pangalan]} ay babae!" - maliban_dito - mag_print "si #{tao[:pangalan]} ay lalaki!" - wakas - wakas +mga_persona.isaisahin ng_ganito |tao| + malibang tao[:kasarian] == 'lalaki' + mag_print "si #{tao[:pangalan]} ay babae!" + maliban_dito + mag_print "si #{tao[:pangalan]} ay lalaki!" + wakas +wakas +``` ### o Ang 'o' ay ginagamit upang piliin ang nagsasauli ng tama. - o - o_ang +```ruby +o +o_ang +``` Halimbawa - totoo o mali - => totoo +```ruby +totoo o mali +=> totoo +``` ### katangian -Ang 'katangian' ay ginagamit upang makapag takda at makapag basa ng *value* sa katangian na ipinahayag sa loob ng grupo. +Ang 'katangian' ay ginagamit upang makapag takda at makapag basa ng *value* sa +katangian na ipinahayag sa loob ng grupo. - katangian - panguri +```ruby +katangian +panguri +``` Halimbawa - bilang Robot - katangian :pangalan, :kakayahan - - ang magpakilala - mag_print <<-INTRO - Ako ay isang Robot! - Ang pangalan ko ay "#{sariling.pangalan}" - Ako ay may kakayahang mag "#{sariling.kakayahan}" - INTRO - wakas - wakas - - robot = Robot.gumawa - robot.pangalan = "bot-chukoy" - robot.kakayahan = "tambling" - robot.magpakilala +```ruby +bilang Robot + katangian :pangalan, :kakayahan -## Pagtulong sa pagdedevelop ng Bato + ang magpakilala + mag_print <<-INTRO + Ako ay isang Robot! + Ang pangalan ko ay "#{sariling.pangalan}" + Ako ay may kakayahang mag "#{sariling.kakayahan}" + INTRO + wakas +wakas -Magpadala ng mga kahilingan sa paggawa ng ticket. +robot = Robot.gumawa +robot.pangalan = "bot-chukoy" +robot.kakayahan = "tambling" +robot.magpakilala +``` -## Media +### ulit-ulitin -* Na *feature* ang Bato programming language sa isang international news website na [The Register](https://www.theregister.co.uk/2018/03/21/philippines_ruby_bato). Mababasa ang artikel sa [https://www.theregister.co.uk/2018/03/21/philippines_ruby_bato](https://www.theregister.co.uk/2018/03/21/philippines_ruby_bato). +Ang 'ulit-ulitin' ay ginagamit upang paikot-ikutin ang ekspresyon hanggang +ihinto ito kapag natupad ang isang kondisyon. + +```ruby +paulit_ulit +ulit_ulitin +``` + +Halimbawa + +```ruby +pambilang = 0 + +paulit_ulit na_ganito + ihinto kapag_ang pambilang == 10 + mag_print pambilang + pambilang += 1 +wakas +``` + +## Pagtulong sa pagdedevelop ng Bato + +Magpadala ng mga kahilingan sa paggawa ng ticket. ## Lisensya Instituto Ng Tekonolohiya sa Massachusetts License (makikita sa LICENSE.txt na file).