bato 0.0.13 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,100 +1,155 @@
1
1
  # Bato
2
2
 
3
- Ang 'Bato Programming Language' ay isang scripting language sa wikang Filipino.
3
+ Ang **Bato Programming Language** ay isang scripting language sa wikang
4
+ *Filipino*.
4
5
 
5
- Subukan ang [Bato](https://trybato.herokuapp.com/) gamit ang *interactive online console* .
6
+ Ang layunin ng proyektong ito ay upang mag turo ng *Computer Programming* sa
7
+ wikang *Filipino*, sa madaling maintindihang wika upang matutuhan ito.
8
+
9
+ Subukan ang [Bato *interactive online console*](https://trybato.herokuapp.com/).
10
+
11
+ ## Media
12
+
13
+ * Yukihiro Matzumoto (Chief Designer of Ruby) - https://twitter.com/yukihiro_matz/status/962193256929832960
14
+ * The Register - https://www.theregister.co.uk/2018/03/21/philippines_ruby_bato
15
+ * Speed Magazine - https://www.speedmagazine.ph/bato-tagalog-programming-language-by-joel-bryan-juliano/
16
+ * University of the Philippines (UPLB Mathematical Sciences Society) - https://twitter.com/uplbmass1973/status/1429684834511716355
17
+ * De La Salle University (Access DLSU) - https://www.facebook.com/AccessDLSU/posts/1666465890181933
18
+ * San Beda University (BITS San Beda) - https://www.facebook.com/BITSSanBeda/photos/a.476052709434852/1391553414551439
19
+ * Philippine Web Design Organization (Form Function Class) - https://twitter.com/ffcph/status/1015212784089534464
20
+ * FullStack HQ - https://twitter.com/fullstackhq/status/1429035930640388106
21
+ * Programmer Ako - https://www.facebook.com/ProgrammerLang/posts/808487952978981
22
+ * Algo Filipino - https://www.facebook.com/AlgoFilipino/posts/149472316929258
23
+ * Binalatongan Community College (BITS) - https://www.facebook.com/BinalatonganCommunityCollegeBITS/posts/207649374632071
24
+ * Philippine Insider TV (YouTube) - https://www.facebook.com/philippineinsidertv/posts/186868113430790
25
+ * Jeck's Tech Nook - https://www.facebook.com/jeck.tech.nook/posts/442902100786391
26
+ * YCombinator Hacker News - https://twitter.com/hnbot/status/951816054161977344
6
27
 
7
28
  ## Pagtatalaga
8
29
 
9
- Kailangan mo munang i-install ang Ruby programming language (version 1.9.3 o mas bago)
10
- at pagkatapos maitalaga ang Ruby, i-run naman ito
30
+ Kailangan mo munang *i-install* ang Ruby programming language (version 3.0.1 o mas
31
+ bago) at pagkatapos maitalaga ang Ruby, *i-run* naman ito
11
32
 
12
- gem install bato
33
+ ```shell
34
+ gem install bato
35
+ ```
13
36
 
14
37
  ## Bakit Bato?
15
38
 
16
- Ang 'bato' ay hango sa [Ruby Programming Language](http://www.ruby-lang.org/) na may Filipino sintaks.
17
- Ang kadahilanang ginamit ang pangalang 'bato' ay dahil ang Ruby ay isang uri ng bato.
39
+ Ang **bato** ay hango sa [Ruby Programming Language](http://www.ruby-lang.org/)
40
+ na may *Filipino* sintaks. Ang kadahilanang ginamit ang pangalang 'bato' ay
41
+ dahil ang Ruby ay isang uri ng bato.
18
42
 
19
43
  ## Ang unang program
20
44
 
21
45
  Gumawa ng isang file na `kamusta_mundo.bt` na may mga sumusunod na nilalaman
22
46
 
23
- kapag 1 > 0
24
- mag_print "Kumusta mundo!"
25
- kung_hindi
26
- mag_print "Mayroong sira"
27
- wakas
47
+ ```ruby
48
+ kapag 1 > 0
49
+ mag_print "Kumusta mundo!"
50
+ kung_hindi
51
+ mag_print "Mayroong sira"
52
+ wakas
53
+ ```
28
54
 
29
55
  at pa-andarin ang program sa pamamagitan ng
30
56
 
31
- bato kamusta_mundo.bt
57
+ ```shell
58
+ bato kamusta_mundo.bt
59
+ ```
32
60
 
33
61
  ## Sintaks
34
62
 
35
63
  ### Pagsusulat
36
64
 
37
- "Ito ay mga serye ng mga sulat sa wikang Filipino"
38
- <<-KATAPUSAN
39
- mga salita
40
- na nahahati
41
- sa ilang mga hilera
42
- KATAPUSAN
65
+ ```ruby
66
+ "Ito ay mga serye ng mga sulat sa wikang Filipino"
67
+ <<-KATAPUSAN
68
+ mga salita
69
+ na nahahati
70
+ sa ilang mga hilera
71
+ KATAPUSAN
72
+ ```
43
73
 
44
74
  ### Dinikit na mga pamamaraan
45
- 'magandang araw'.baliktad # => 'wara gnadnagam'
46
- 'Pangungusap'.haba # => 11
75
+
76
+ ```ruby
77
+ 'magandang araw'.baliktad # => 'wara gnadnagam'
78
+ 'Pangungusap'.haba # => 11
79
+ ```
47
80
 
48
81
  ### Ekspresyong Boolean
49
82
 
50
- tama
51
- mali
52
- hindi tama
83
+ ```ruby
84
+ tama
85
+ mali
86
+ hindi tama
87
+ ```
53
88
 
54
89
  ### Kondisyon
55
90
 
56
91
  Paggamit ng kondisyon.
57
92
 
58
- kapag halaga > 100 dapat
59
- "ayos lang"
60
- kung_kapag halaga > 0 dapat
61
- "ok lang"
62
- kung_hindi
63
- "wala lang"
64
- wakas
65
93
 
66
- kung_sakaling halaga
67
- pagka 5 dapat "lima"
68
- pagka 4 dapat "apat"
69
- kung_hindi "wala"
70
- wakas
94
+ ```ruby
95
+ halaga = 100
96
+
97
+ mensahe = kapag halaga > 100 dapat
98
+ "ayos lang"
99
+ kung_kapag halaga > 0 dapat
100
+ "ok lang"
101
+ kung_hindi
102
+ "wala lang"
103
+ wakas
104
+
105
+ mag_print mensahe
106
+
107
+ mensahe =
108
+ kung_sakaling halaga
109
+ pagka 5 dapat "lima"
110
+ pagka 4 dapat "apat"
111
+ kung_hindi "wala"
112
+ wakas
113
+
114
+ mag_print mensahe
115
+ ```
71
116
 
72
117
  ### Pamamaraan sa pagkakamali
73
118
 
74
- bilang_ng_pagkakamali = 0
75
- simula
76
- # mag komento kapag hindi sigurado
77
- 1 / 0
78
- iligtas => pagkakamali
79
- bilang_ng_pagkakamali += 1
80
- subukang_muli kapag bilang_ng_pagkakamali < 3
81
- iangat "malubhang pagkakamali"
82
- siguraduhing
83
- mag_print "Tapos na"
84
- wakas
119
+ NOTE: Hindi ito gagana sa online compiler, ngunit sa pag *i-install* lang sa
120
+ iyon computer. Tignan ang seksiyon na [Pagtatalaga](#Pagtatalaga)
121
+
122
+ ```ruby
123
+ bilang_ng_pagkakamali = 0
124
+ simula
125
+ # mag komento kapag hindi sigurado
126
+ 1 / 0
127
+ iligtas => pagkakamali
128
+ bilang_ng_pagkakamali += 1
129
+ subukang_muli kapag bilang_ng_pagkakamali < 3
130
+ iangat "malubhang pagkakamali"
131
+ siguraduhing
132
+ mag_print "Tapos na"
133
+ wakas
134
+ ```
85
135
 
86
136
  ### Panuntunan
87
137
 
88
- ang iprintAngPangalan(pangalan = wala)
89
- kapag pangalan != wala
90
- mag_print "Magandang araw sa iyo #{pangalan}!"
91
- kung_hindi
92
- mag_print "Magandang araw!"
93
- wakas
138
+ ```ruby
139
+ ang iprintAngPangalan(pangalan = wala)
140
+ mensahe =
141
+ kapag pangalan != wala
142
+ "Magandang araw sa iyo #{pangalan}!"
143
+ kung_hindi
144
+ "Magandang araw!"
94
145
  wakas
146
+
147
+ mag_print mensahe
148
+ wakas
95
149
 
96
- iprintAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
97
- iprintAngPangalan # => "Magandang araw!"
150
+ iprintAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
151
+ iprintAngPangalan # => "Magandang araw!"
152
+ ```
98
153
 
99
154
  ## Paggamit ng mga ekspresyon ng mga salita sa program
100
155
 
@@ -102,460 +157,560 @@ Paggamit ng kondisyon.
102
157
 
103
158
  Maari kang gumamit sa alin sa mga sumusunod sa pagtatapos ng program
104
159
 
105
- wakas
106
- dulo
107
- katapusan
108
-
160
+ ```ruby
161
+ wakas
162
+ dulo
163
+ katapusan
164
+ ```
109
165
  Halimbawa
110
166
 
111
- bilang_ng_saging = 2
112
- kapag bilang_ng_saging > 1
113
- mag_print "Mayroon akong #{bilang_ng_saging} saging! 🍌"
114
- kung_hindi
115
- mag_print "Wala na akong saging! 😐"
116
- wakas
167
+ ```ruby
168
+ bilang_ng_saging = 2
117
169
 
170
+ mensahe =
171
+ kapag bilang_ng_saging > 1
172
+ "Mayroon akong #{bilang_ng_saging} saging! 🍌"
173
+ kung_hindi
174
+ "Wala na akong saging! 😐"
175
+ wakas
176
+
177
+ mag_print mensahe
178
+ ```
118
179
  ### kung_iba
119
180
 
120
181
  Kapag ang ekspresyon ay hindi nasunod maaring gumamit sa alin sa mga sumusunod
121
182
 
122
- iba
123
- kung_iba
124
- kung_hindi
125
- kung_hindi_naman
126
- kapag_hindi
127
- kapag_hindi_naman
128
- kung_hindi_pa
129
- kapag_hindi_pa
130
- at_kung_hindi
131
- at_kapag_hindi
132
- at_kung_hindi_naman
133
- at_kapag_hindi_naman
134
- at_kapag_hindi_pa
135
- at_kung_hindi_pa
136
- maliban_dito
137
- maliban_sa_mga_ito
183
+ ```ruby
184
+ iba
185
+ kung_iba
186
+ kung_hindi
187
+ kung_hindi_naman
188
+ kapag_hindi
189
+ kapag_hindi_naman
190
+ kung_hindi_pa
191
+ kapag_hindi_pa
192
+ at_kung_hindi
193
+ at_kapag_hindi
194
+ at_kung_hindi_naman
195
+ at_kapag_hindi_naman
196
+ at_kapag_hindi_pa
197
+ at_kung_hindi_pa
198
+ maliban_dito
199
+ maliban_sa_mga_ito
200
+ ```
138
201
 
139
202
  Halimbawa
140
203
 
141
- pangalan_mo = "Maliksi"
142
- kapag_ang pangalan_mo == "Maliksi"
143
- mag_print "Ikaw ay si #{pangalan_mo}!"
144
- kung_hindi_naman
145
- mag_print "Magandang araw sa iyo #{pangalan_mo}!"
146
- wakas
204
+ ```ruby
205
+ pangalan_mo = "Maliksi"
206
+
207
+ mensahe =
208
+ kapag_ang pangalan_mo == "Maliksi"
209
+ "Ikaw ay si #{pangalan_mo}!"
210
+ kung_hindi_naman
211
+ "Magandang araw sa iyo #{pangalan_mo}!"
212
+ wakas
147
213
 
214
+ mag_print mensahe
215
+ ```
148
216
  ### sakali
149
217
 
150
- Kapag mayroon kang ekspresyon na madaming resulta gawa ng mga iba't ibang kondisyon, maari kang gumamit ng mga sumusunod
218
+ Kapag mayroon kang ekspresyon na madaming resulta gawa ng mga iba't ibang
219
+ kondisyon, maari kang gumamit ng mga sumusunod
151
220
 
152
- sakaling
153
- sakali
154
- kung_sakaling
155
- sakali_na
156
- kung_sakali_na
157
- kalagayan
158
- kaukulan
221
+ ```ruby
222
+ sakaling
223
+ sakali
224
+ kung_sakaling
225
+ sakali_na
226
+ kung_sakali_na
227
+ kalagayan
228
+ kaukulan
229
+ ```
159
230
 
160
231
  Halimbawa
161
232
 
162
- pangalan_mo = "Mabait"
163
-
164
- sakaling pangalan_mo
165
- ay "Maliksi"
166
- mag_print "Ikaw ay si Maliksi!"
167
- ay "Matipuno"
168
- mag_print "Ikaw ay si Matipuno!"
169
- ay "Mabait"
170
- mag_print "Ikaw ay si Mabait!"
171
- maliban_dito
172
- mag_print "Magandang araw sa iyo!"
173
- wakas
174
-
233
+ ```ruby
234
+ pangalan_mo = "Mabait"
235
+
236
+ mensahe =
237
+ sakaling pangalan_mo
238
+ ay "Maliksi"
239
+ "Ikaw ay si Maliksi!"
240
+ ay "Matipuno"
241
+ "Ikaw ay si Matipuno!"
242
+ ay "Mabait"
243
+ "Ikaw ay si Mabait!"
244
+ maliban_dito
245
+ "Magandang araw sa iyo!"
246
+ wakas
247
+
248
+ mag_print mensahe
249
+ ```
175
250
  ### tiyakin
176
251
 
177
- Kung mayroon kang ekspresyon na gusto mong masunod kahit ano pa ang kahihinatnan nito, gumamit ng mga sumusunod
252
+ Kung mayroon kang ekspresyon na gusto mong masunod kahit ano pa ang kahihinatnan
253
+ nito, gumamit ng mga sumusunod
254
+
255
+ NOTE: Hindi ito gagana sa online compiler, ngunit sa pag *i-install* lang sa
256
+ iyon computer. Tignan ang seksiyon na [Pagtatalaga](#Pagtatalaga)
178
257
 
179
- tiyaking
180
- matiyak
181
- tiyakin
182
- siguraduhing
183
- siguraduhin
184
- panigurado
258
+ ```ruby
259
+ tiyaking
260
+ matiyak
261
+ tiyakin
262
+ siguraduhing
263
+ siguraduhin
264
+ panigurado
265
+ ```
185
266
 
186
267
  Halimbawa
187
268
 
188
- simulan
189
- itaas "May sira!"
190
- agapan
191
- mag_print "Ipagpatuloy..."
192
- itaas "May nasira na na-agapan"
193
- tiyaking
194
- mag_print "Tapos na"
195
- wakas
269
+ ```ruby
270
+ simulan
271
+ itaas "May sira!"
272
+ agapan
273
+ mag_print "Ipagpatuloy..."
274
+ itaas "May nasira na na-agapan"
275
+ tiyaking
276
+ mag_print "Tapos na"
277
+ wakas
278
+ ```
196
279
 
197
280
  ### grupo
198
281
 
199
282
  Ang grupo ay ang lalagyanan ng mga kabilang na klase sa iyong program
200
283
 
201
- grupo
284
+ ```ruby
285
+ grupo
286
+ ```
202
287
 
203
288
  Halimbawa
204
289
 
205
- grupo Hayop
206
- KABUUAN = 5
290
+ ```ruby
291
+ grupo Hayop
292
+ KABUUAN = 5
207
293
 
208
- bilang Aso
209
- ang tahol
210
- mag_print "Woof..."
211
- wakas
294
+ bilang Aso
295
+ ang tahol
296
+ mag_print "Woof..."
297
+ wakas
212
298
 
213
- ang kumanin
214
- mag_print "..."
215
- wakas
299
+ ang kumanin
300
+ mag_print "..."
301
+ wakas
216
302
 
217
- ang ikembot_ang_buntot
218
- mag_print "Ginagawa ko ito dahil masaya ako!"
219
- wakas
220
- wakas
303
+ ang ikembot_ang_buntot
304
+ mag_print "Ginagawa ko ito dahil masaya ako!"
221
305
  wakas
306
+ wakas
307
+ wakas
222
308
 
223
- dami = 6
224
- browny = Hayop::Aso.kumatawan
225
- browny.ikembot_ang_buntot kapag dami >= Hayop::KABUUAN
309
+ dami = 6
310
+ browny = Hayop::Aso.kumatawan
311
+ browny.ikembot_ang_buntot kapag dami >= Hayop::KABUUAN
312
+ ```
226
313
 
227
314
  ### ngunit_kapag
228
315
 
229
- Gumamit ng ngunit_kapag kapag mayroon ka pang kondisyon maliban sa nauna ng kondisyon
316
+ Gumamit ng ngunit_kapag kapag mayroon ka pang kondisyon maliban sa nauna ng
317
+ kondisyon
230
318
 
231
- ngunit_kapag
232
- kung_kapag
233
- ngunit_kapag_ang
234
- kung_kapag_ang
319
+ ```ruby
320
+ ngunit_kapag
321
+ kung_kapag
322
+ ngunit_kapag_ang
323
+ kung_kapag_ang
324
+ ```
235
325
 
236
326
  Halimbawa
237
327
 
238
- pangalan_mo = "Masipag"
239
- kapag_ang pangalan_mo == "Matipuno"
240
- mag_print "Ikaw ay si Matipuno!"
241
- ngunit_kapag_ang pangalan_mo == "Masipag"
242
- mag_print "Ikaw ay si Masipag!"
243
- maliban_sa_mga_ito
244
- mag_print "Wala kang rekord saamin!"
245
- wakas
328
+ ```ruby
329
+ pangalan_mo = "Masipag"
330
+ kapag_ang pangalan_mo == "Matipuno"
331
+ mag_print "Ikaw ay si Matipuno!"
332
+ ngunit_kapag_ang pangalan_mo == "Masipag"
333
+ mag_print "Ikaw ay si Masipag!"
334
+ maliban_sa_mga_ito
335
+ mag_print "Wala kang rekord saamin!"
336
+ wakas
337
+ ```
246
338
 
247
339
  ### ang
248
340
 
249
341
  Ang ang ay may kalakip na pangalan upang ito ay matawag sa program
250
342
 
251
- ang
252
- panuntunan
253
- panuntunang
343
+ ```ruby
344
+ ang
345
+ panuntunan
346
+ panuntunang
347
+ ```
254
348
 
255
349
  Halimbawa
256
350
 
257
- ang id(estudyante = {})
258
- pangalan = estudyante[:pangalan]
259
- edad = estudyante[:edad]
260
- tirahan = estudyante[:tirahan]
261
- baitang = estudyante[:baitang]
262
- seksiyon = estudyante[:seksiyon]
263
-
264
- mag_print <<-KATAPUSAN
265
- Pangalan: #{pangalan}
266
- Edad: #{edad}
267
- Tirahan: #{tirahan}
268
- Baitang: #{baitang}
269
- Seksiyon: #{seksiyon}
270
- KATAPUSAN
271
- wakas
272
-
273
- id({
274
- pangalan: "Maliksi Batubalani",
275
- edad: "13",
276
- tirahan: "Ilocos",
277
- baitang: "6",
278
- seksiyon: "Masisipag"
279
- })
351
+ ```ruby
352
+ ang id(estudyante = {})
353
+ pangalan = estudyante[:pangalan]
354
+ edad = estudyante[:edad]
355
+ tirahan = estudyante[:tirahan]
356
+ baitang = estudyante[:baitang]
357
+ seksiyon = estudyante[:seksiyon]
358
+
359
+ mag_print <<-KATAPUSAN
360
+ Pangalan: #{pangalan}
361
+ Edad: #{edad}
362
+ Tirahan: #{tirahan}
363
+ Baitang: #{baitang}
364
+ Seksiyon: #{seksiyon}
365
+ KATAPUSAN
366
+ wakas
367
+
368
+ id({
369
+ pangalan: "Maliksi Batubalani",
370
+ edad: "13",
371
+ tirahan: "Ilocos",
372
+ baitang: "6",
373
+ seksiyon: "Masisipag"
374
+ })
375
+ ```
280
376
 
281
377
  ### agapan
282
378
 
283
- Ang agapan ay ginagamit kung mayroon maaaring mangyaring pagkakamali na gusto mong maisalba o mailigtas
379
+ Ang agapan ay ginagamit kung mayroon maaaring mangyaring pagkakamali na gusto
380
+ mong maisalba o mailigtas
284
381
 
285
- iligtas
286
- agapan
382
+ ```ruby
383
+ iligtas
384
+ agapan
385
+ ```
287
386
 
288
387
  Halimbawa
289
388
 
290
- simulan
291
- 1 / 0
292
- agapan
293
- mag_print "Hindi ito posible!"
294
- wakas
389
+ ```ruby
390
+ simulan
391
+ 1 / 0
392
+ agapan
393
+ mag_print "Hindi ito posible!"
394
+ wakas
395
+ ```
295
396
 
296
397
  ### dapat
297
398
 
298
399
  Kapag mayroon kang ekspresyon na mayroong inaasahan na resulta, gumamit ng dapat
299
400
 
300
- dapat
401
+ ```ruby
402
+ dapat
403
+ ```
301
404
 
302
405
  Halimbawa
303
406
 
304
- panulat_mo = "lapis"
407
+ ```ruby
408
+ panulat_mo = "lapis"
305
409
 
306
- papel = sakaling panulat_mo
307
- ay "lapis" dapat "bond paper"
308
- ay "ballpen" dapat "dilaw na papel"
309
- maliban_sa_mga_ito "intermediate paper"
310
- wakas
410
+ papel = sakaling panulat_mo
411
+ ay "lapis" dapat "bond paper"
412
+ ay "ballpen" dapat "dilaw na papel"
413
+ maliban_sa_mga_ito "intermediate paper"
414
+ wakas
311
415
 
312
- mag_print "Ang papel na gagamitin mo ay #{papel}"
416
+ mag_print "Ang papel na gagamitin mo ay #{papel}"
417
+ ```
313
418
 
314
419
  ### magbigay_daan
315
420
 
316
- Kapag ang ekspresyon ay mayroong inaasahang dapat na ibigay na resulta habang gumagana pa ang program, gumamit ng magbigay_daan
421
+ Kapag ang ekspresyon ay mayroong inaasahang dapat na ibigay na resulta habang
422
+ gumagana pa ang program, gumamit ng magbigay_daan
317
423
 
318
- magbigay_daan
319
- bigyang_daan
424
+ ```ruby
425
+ magbigay_daan
426
+ bigyang_daan
427
+ ```
320
428
 
321
429
  Halimbawa
322
430
 
323
- ang gumawaNgID
324
- mag_print "------------------------------------------"
325
- magbigay_daan
326
- mag_print "------------------------------------------"
327
- wakas
328
-
329
- ang ID(impormasyon = {})
330
- gumawaNgID na_ganito
331
- mag_print <<-KATAPUSAN
332
- Pangalan: #{impormasyon[:pangalan]}
333
- Edad: #{impormasyon[:edad]}
334
- Tirahan: #{impormasyon[:tirahan]}
335
- Baitang: #{impormasyon[:baitang]}
336
- Seksiyon: #{impormasyon[:seksiyon]}
337
- KATAPUSAN
338
- wakas
339
- wakas
340
-
341
- ID({
342
- pangalan: "Maliksi Batubalani",
343
- edad: "13",
344
- tirahan: "Ilocos",
345
- baitang: "6",
346
- seksiyon: "Masisipag"
347
- })
431
+ ```ruby
432
+ ang gumawaNgID
433
+ mag_print "------------------------------------------"
434
+ magbigay_daan
435
+ mag_print "------------------------------------------"
436
+ wakas
437
+
438
+ ang ID(impormasyon = {})
439
+ gumawaNgID na_ganito
440
+ mag_print <<-KATAPUSAN
441
+ Pangalan: #{impormasyon[:pangalan]}
442
+ Edad: #{impormasyon[:edad]}
443
+ Tirahan: #{impormasyon[:tirahan]}
444
+ Baitang: #{impormasyon[:baitang]}
445
+ Seksiyon: #{impormasyon[:seksiyon]}
446
+ KATAPUSAN
447
+ wakas
448
+ wakas
449
+
450
+ ID({
451
+ pangalan: "Maliksi Batubalani",
452
+ edad: "13",
453
+ tirahan: "Ilocos",
454
+ baitang: "6",
455
+ seksiyon: "Masisipag"
456
+ })
457
+ ```
348
458
 
349
459
  ### para_sa
350
460
 
351
461
  Kapag may listahan na nais mong isa isahin, gumamit ng para_sa
352
462
 
353
- para_sa
354
- para_ang
463
+ ```ruby
464
+ para_sa
465
+ para_ang
466
+ ```
355
467
 
356
468
  Halimbawa
357
469
 
358
- listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"]
359
- para_sa prutas na_nasa listahan_ng_mga_prutas ganito_gawin
360
- mag_print prutas.sa_malaking_titik
361
- wakas
470
+ ```ruby
471
+ listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"]
472
+ para_sa prutas na_nasa listahan_ng_mga_prutas ganito_gawin
473
+ mag_print prutas.sa_malaking_titik
474
+ wakas
475
+ ```
362
476
 
363
477
  ### subukang_muli
364
478
 
365
- Ginagamit ang subukang_muli upang umikot muli ang ekspresyon kung may sirang nangyari at nais mo ulit subukan pa andarin
479
+ Ginagamit ang subukang_muli upang umikot muli ang ekspresyon kung may sirang
480
+ nangyari at nais mo ulit subukan pa andarin
366
481
 
367
- subukang_muli
482
+ ```ruby
483
+ subukang_muli
484
+ ```
368
485
 
369
486
  Halimbawa
370
487
 
371
- bilang_ng_pagkakamali = 0
372
- simula
373
- 1 / 0
374
- agapan => pagkakamali
375
- bilang_ng_pagkakamali += 1
376
- subukang_muli kapag bilang_ng_pagkakamali < 3
377
- iangat "malubhang pagkakamali"
378
- siguraduhing
379
- mag_print "Tapos na"
380
- wakas
488
+ ```ruby
489
+ bilang_ng_pagkakamali = 0
490
+ simula
491
+ 1 / 0
492
+ agapan => pagkakamali
493
+ bilang_ng_pagkakamali += 1
494
+ subukang_muli kapag bilang_ng_pagkakamali < 3
495
+ iangat "malubhang pagkakamali"
496
+ siguraduhing
497
+ mag_print "Tapos na"
498
+ wakas
499
+ ```
381
500
 
382
501
  ### ibalik
383
502
 
384
503
  Kapag mayroon kang ibabalik na resulta sa nagtawag ng ang
385
504
 
386
- ibalik
387
- ibalik_ang
388
- magbalik
389
- magbalik_nang
390
- isauli
391
- isauli_ang
392
- ibigay
393
- ibigay_ang
394
- magbigay
395
- magbigay_nang
505
+ ```ruby
506
+ ibalik
507
+ ibalik_ang
508
+ magbalik
509
+ magbalik_nang
510
+ isauli
511
+ isauli_ang
512
+ ibigay
513
+ ibigay_ang
514
+ magbigay
515
+ magbigay_nang
516
+ ```
396
517
 
397
518
  Halimbawa
398
519
 
399
- ang magdagdag_ng_isa(halaga)
400
- idadagdag = halaga + 1
401
- ibalik_ang halaga
402
- wakas
520
+ ```ruby
521
+ ang magdagdag_ng_isa(halaga)
522
+ idadagdag = halaga + 1
523
+ ibalik_ang halaga
524
+ wakas
525
+ ```
403
526
 
404
527
  ### kapag
405
528
 
406
529
  Ginagamit ang kapag kung meron kang kondisyon sa iyong ekspresyon
407
530
 
408
- kapag
409
- kapag_ang
410
- kapag_na_ang
411
- kung
412
- kung_ang
531
+ ```ruby
532
+ kapag
533
+ kapag_ang
534
+ kapag_na_ang
535
+ kung
536
+ kung_ang
537
+ ```
413
538
 
414
539
  Halimbawa
415
540
 
416
- kapag_ang 1 > 0
417
- mag_print "mas madami!"
418
- kung_iba
419
- mag_print "may sira"
420
- wakas
541
+ ```ruby
542
+ kapag_ang 1 > 0
543
+ mag_print "mas madami!"
544
+ kung_iba
545
+ mag_print "may sira"
546
+ wakas
547
+ ```
421
548
 
422
549
  ### bilang
423
550
 
424
551
  Ang bilang ay ang pagsasabilang ng isang kaukulang klasipikasyon
425
552
 
426
- bilang
553
+ ```ruby
554
+ bilang
555
+ ```
427
556
 
428
557
  Halimbawa
429
558
 
430
- grupo Tinapay
431
- bilang Donut
432
- ang flavor
433
- mag_print 'Strawberry!'
434
- wakas
435
- wakas
559
+ ```ruby
560
+ grupo Tinapay
561
+ bilang Donut
562
+ ang flavor
563
+ mag_print 'Strawberry!'
436
564
  wakas
565
+ wakas
566
+ wakas
437
567
 
438
- tinapay = Tinapay::Donut.kumatawan
439
- tinapay.flavor
440
- => 'Strawberry!'
568
+ tinapay = Tinapay::Donut.kumatawan
569
+ tinapay.flavor
570
+ => 'Strawberry!'
571
+ ```
441
572
 
442
573
  ### habang
443
574
 
444
575
  Gumamit ng habang kung may hinihintay pa na resulta, kondisyon o pangyayari
445
576
 
446
- habang
447
- habang_ang
577
+ ```ruby
578
+ habang
579
+ habang_ang
580
+ ```
448
581
 
449
582
  Halimbawa
450
583
 
451
- may_buhay = totoo
584
+ ```ruby
585
+ may_buhay = totoo
452
586
 
453
- habang may_buhay
454
- mag_print 'may pag-asa!'
455
- hinto
456
- wakas
457
- => 'may pag-asa!'
587
+ habang may_buhay
588
+ mag_print 'may pag-asa!'
589
+ hinto
590
+ wakas
591
+ => 'may pag-asa!'
592
+ ```
458
593
 
459
594
  ### alyas
460
595
 
461
- Gumamit ng alyas kung kailangan mo tawagin sa ibang pangalan ang iyong panuntunan
596
+ Gumamit ng alyas kung kailangan mo tawagin sa ibang pangalan ang iyong
597
+ panuntunan
462
598
 
463
- alyas
599
+ ```ruby
600
+ alyas
601
+ ```
464
602
 
465
603
  Halimbawa
466
604
 
467
- bilang Hayop
468
- ang aso
469
- mag_print 'si browny ay mabait!'
470
- wakas
471
- alyas browny aso
472
- wakas
605
+ ```ruby
606
+ bilang Hayop
607
+ ang aso
608
+ mag_print 'si browny ay mabait!'
609
+ wakas
610
+ alyas browny aso
611
+ wakas
473
612
 
474
- hayop = Hayop.kumatawan
475
- hayop.browny
476
- => 'si browny ay mabait!'
613
+ hayop = Hayop.kumatawan
614
+ hayop.browny
615
+ => 'si browny ay mabait!'
616
+ ```
477
617
 
478
618
  ### nakatukoy?
479
619
 
480
- Ang nakatukoy? ay ginagamit kung kailangan malaman kung umiiral ang isang grupo o klase.
620
+ Ang nakatukoy? ay ginagamit kung kailangan malaman kung umiiral ang isang grupo
621
+ o klase
481
622
 
482
- nakatukoy?
483
- nakasaad?
623
+ ```ruby
624
+ nakatukoy?
625
+ nakasaad?
626
+ ```
484
627
 
485
628
  Halimbawa
486
629
 
487
- grupo Manggagawa
488
- bilang Magsasaka
489
- ang pananim
490
- ['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].isaisahin na_ganito |pananim|
491
- mag_print "Mag tatanim ng #{pananim} ngayong panahon"
492
- wakas
493
- wakas
630
+ ```ruby
631
+ grupo Manggagawa
632
+ bilang Magsasaka
633
+ ang pananim
634
+ ['sibuyas', 'kamatis', 'palay', 'mais'].isaisahin na_ganito |pananim|
635
+ mag_print "Mag tatanim ng #{pananim} ngayong panahon"
494
636
  wakas
495
637
  wakas
638
+ wakas
639
+ wakas
496
640
 
497
- kung nakatukoy?(Manggagawa::Magsasaka)
498
- mag_print 'May nakatukoy!'
499
- wakas
641
+ kung nakatukoy?(Manggagawa::Magsasaka)
642
+ mag_print 'May nakatukoy!'
643
+ wakas
644
+ ```
500
645
 
501
646
  ### tanggalin
502
647
 
503
648
  Ginagamit ang tanggalin kung may tatanggaling panuntunan sa isang klase
504
649
 
505
- tanggalin
506
- magtanggal
650
+ ```ruby
651
+ tanggalin
652
+ magtanggal
653
+ ```
507
654
 
508
655
  Halimbawa
509
656
 
510
- grupo Hayop
511
- bilang Aso
512
- ang tahol
513
- mag_print 'baw waw!'
514
- wakas
515
- wakas
657
+ ```ruby
658
+ grupo Hayop
659
+ bilang Aso
660
+ ang tahol
661
+ mag_print 'baw waw!'
516
662
  wakas
663
+ wakas
664
+ wakas
517
665
 
518
- bilang Pusa < Hayop::Aso
519
- tanggalin tahol
520
- ang meow
521
- mag_print 'meow wahu!'
522
- wakas
523
- wakas
666
+ bilang Pusa < Hayop::Aso
667
+ tanggalin tahol
668
+ ang meow
669
+ mag_print 'meow wahu!'
670
+ wakas
671
+ wakas
524
672
 
525
- pusa = Pusa.kumatawan
673
+ pusa = Pusa.kumatawan
526
674
 
527
- simulan
528
- pusa.tahol
529
- agapan => pagkakamali
530
- mag_print "ang pagkakamali ay '#{pagkakamali}'"
531
- wakas
675
+ simulan
676
+ pusa.tahol
677
+ agapan => pagkakamali
678
+ mag_print "ang pagkakamali ay '#{pagkakamali}'"
679
+ wakas
680
+ ```
532
681
 
533
682
  ### ihinto
534
683
 
535
684
  Gumamit ng 'hinto' kung may nais kang matapos na kondisyon gamit ang 'habang'
536
685
 
537
- ihinto
538
- hinto
686
+ ```ruby
687
+ ihinto
688
+ hinto
689
+ ```
539
690
 
540
691
  Halimbawa
541
692
 
542
- nakamit = mali
693
+ ```ruby
694
+ nakamit = mali
543
695
 
544
- habang nakamit == mali
545
- mag_print 'hindi pa nakakamit!'
546
- hinto
547
- wakas
696
+ habang nakamit == mali
697
+ mag_print 'hindi pa nakakamit!'
698
+ hinto
699
+ wakas
548
700
 
549
- mag_print 'nakamit na!'
701
+ mag_print 'nakamit na!'
702
+ ```
550
703
 
551
704
  ### sa
552
705
 
553
706
  Ginagamit ang 'sa' kung nais mong matukoy ang kasulukuyang listahan
554
707
 
555
- sa
556
- sa_loob_ng
557
- nasa
558
- na_nasa
708
+ ```ruby
709
+ sa
710
+ sa_loob_ng
711
+ nasa
712
+ na_nasa
713
+ ```
559
714
 
560
715
  Halimbawa
561
716
 
@@ -565,9 +720,11 @@ Halimbawa
565
720
 
566
721
  Ginagamit ang 'ganito' kung nais mong i konteksto ang kasulukuyang listahan
567
722
 
568
- na_ganito
569
- nang_ganito
570
- ganito
723
+ ```ruby
724
+ na_ganito
725
+ nang_ganito
726
+ ganito
727
+ ```
571
728
 
572
729
  Halimbawa
573
730
 
@@ -577,85 +734,120 @@ Halimbawa
577
734
 
578
735
  Ang 'hanggang' ay magpapatuloy tumakbo hanggang maabot ang tamang kundisyon.
579
736
 
580
- hanggang
581
- hanggang_ang
582
- mapa_hanggang
737
+ ```ruby
738
+ hanggang
739
+ hanggang_ang
740
+ mapa_hanggang
741
+ ```
583
742
 
584
743
  Halimbawa
585
744
 
586
- numero = 0
587
- panghuling_numero = 5
588
- simula
589
- mag_print "Ang numero ay #{numero} na"
590
- numero += 1
591
- wakas hanggang numero < panghuling_numero
745
+ ```ruby
746
+ pambilang = 0
747
+ panghuling_numero = 5
748
+ simula
749
+ mag_print "Ang numero ay #{pambilang} na"
750
+ pambilang += 1
751
+ wakas hanggang pambilang < panghuling_numero
752
+ ```
592
753
 
593
754
  ### maliban_na
594
755
 
595
- malibang
596
- maliban_na
597
- maliban_ang
756
+ ```ruby
757
+ malibang
758
+ maliban_na
759
+ maliban_ang
760
+ ```
598
761
 
599
762
  Halimbawa
600
763
 
601
- mga_persona = [
602
- { pangalan: 'Gener', kasarian: 'lalaki' },
603
- { pangalan: 'Karmen', kasarian: 'babae' }
604
- ]
605
-
606
- mga_persona.isaisahin ng_ganito |tao|
607
- malibang tao[:kasarian] == 'lalaki'
608
- mag_print "si #{tao[:pangalan]} ay babae!"
609
- maliban_dito
610
- mag_print "si #{tao[:pangalan]} ay lalaki!"
611
- wakas
612
- wakas
764
+ ```ruby
765
+ mga_persona = [
766
+ { pangalan: 'Gener', kasarian: 'lalaki' },
767
+ { pangalan: 'Karmen', kasarian: 'babae' }
768
+ ]
769
+
770
+ mga_persona.isaisahin ng_ganito |tao|
771
+ malibang tao[:kasarian] == 'lalaki'
772
+ mag_print "si #{tao[:pangalan]} ay babae!"
773
+ maliban_dito
774
+ mag_print "si #{tao[:pangalan]} ay lalaki!"
775
+ wakas
776
+ wakas
777
+ ```
613
778
 
614
779
  ### o
615
780
 
616
781
  Ang 'o' ay ginagamit upang piliin ang nagsasauli ng tama.
617
782
 
618
- o
619
- o_ang
783
+ ```ruby
784
+ o
785
+ o_ang
786
+ ```
620
787
 
621
788
  Halimbawa
622
789
 
623
- totoo o mali
624
- => totoo
790
+ ```ruby
791
+ totoo o mali
792
+ => totoo
793
+ ```
625
794
 
626
795
  ### katangian
627
796
 
628
- Ang 'katangian' ay ginagamit upang makapag takda at makapag basa ng *value* sa katangian na ipinahayag sa loob ng grupo.
797
+ Ang 'katangian' ay ginagamit upang makapag takda at makapag basa ng *value* sa
798
+ katangian na ipinahayag sa loob ng grupo.
629
799
 
630
- katangian
631
- panguri
800
+ ```ruby
801
+ katangian
802
+ panguri
803
+ ```
632
804
 
633
805
  Halimbawa
634
806
 
635
- bilang Robot
636
- katangian :pangalan, :kakayahan
637
-
638
- ang magpakilala
639
- mag_print <<-INTRO
640
- Ako ay isang Robot!
641
- Ang pangalan ko ay "#{sariling.pangalan}"
642
- Ako ay may kakayahang mag "#{sariling.kakayahan}"
643
- INTRO
644
- wakas
645
- wakas
646
-
647
- robot = Robot.gumawa
648
- robot.pangalan = "bot-chukoy"
649
- robot.kakayahan = "tambling"
650
- robot.magpakilala
807
+ ```ruby
808
+ bilang Robot
809
+ katangian :pangalan, :kakayahan
651
810
 
652
- ## Pagtulong sa pagdedevelop ng Bato
811
+ ang magpakilala
812
+ mag_print <<-INTRO
813
+ Ako ay isang Robot!
814
+ Ang pangalan ko ay "#{sariling.pangalan}"
815
+ Ako ay may kakayahang mag "#{sariling.kakayahan}"
816
+ INTRO
817
+ wakas
818
+ wakas
653
819
 
654
- Magpadala ng mga kahilingan sa paggawa ng ticket.
820
+ robot = Robot.gumawa
821
+ robot.pangalan = "bot-chukoy"
822
+ robot.kakayahan = "tambling"
823
+ robot.magpakilala
824
+ ```
655
825
 
656
- ## Media
826
+ ### ulit-ulitin
657
827
 
658
- * 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).
828
+ Ang 'ulit-ulitin' ay ginagamit upang paikot-ikutin ang ekspresyon hanggang
829
+ ihinto ito kapag natupad ang isang kondisyon.
830
+
831
+ ```ruby
832
+ paulit_ulit
833
+ ulit_ulitin
834
+ ```
835
+
836
+ Halimbawa
837
+
838
+ ```ruby
839
+ pambilang = 0
840
+
841
+ paulit_ulit na_ganito
842
+ ihinto kapag_ang pambilang == 10
843
+ mag_print pambilang
844
+ pambilang += 1
845
+ wakas
846
+ ```
847
+
848
+ ## Pagtulong sa pagdedevelop ng Bato
849
+
850
+ Magpadala ng mga kahilingan sa paggawa ng ticket.
659
851
 
660
852
  ## Lisensya
661
853