bato 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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