filipinomemes 1.0.0

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.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +18 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +602 -0
  8. data/Rakefile +6 -0
  9. data/_config.yml +1 -0
  10. data/bin/filipinomemes +21 -0
  11. data/filipinomemes.gemspec +26 -0
  12. data/lib/filipinomemes.rb +3 -0
  13. data/lib/filipinomemes/compiler.rb +21 -0
  14. data/lib/filipinomemes/core_ext.rb +8 -0
  15. data/lib/filipinomemes/core_ext/array.rb +19 -0
  16. data/lib/filipinomemes/core_ext/class.rb +4 -0
  17. data/lib/filipinomemes/core_ext/enumerator.rb +3 -0
  18. data/lib/filipinomemes/core_ext/integer.rb +4 -0
  19. data/lib/filipinomemes/core_ext/kernel.rb +13 -0
  20. data/lib/filipinomemes/core_ext/module.rb +4 -0
  21. data/lib/filipinomemes/core_ext/range.rb +6 -0
  22. data/lib/filipinomemes/core_ext/string.rb +13 -0
  23. data/lib/filipinomemes/ruby_parser_patches.rb +156 -0
  24. data/lib/filipinomemes/version.rb +3 -0
  25. data/sample_programs/agapan.bt +5 -0
  26. data/sample_programs/alyas.bt +9 -0
  27. data/sample_programs/batotris.bt +286 -0
  28. data/sample_programs/bilang.bt +10 -0
  29. data/sample_programs/dapat.bt +9 -0
  30. data/sample_programs/habang.bt +7 -0
  31. data/sample_programs/ihinto.bt +8 -0
  32. data/sample_programs/kontrol-sa-pagiikot.bt +45 -0
  33. data/sample_programs/kumusta_mundo.bt +5 -0
  34. data/sample_programs/magbibigay.bt +27 -0
  35. data/sample_programs/maliban_na.bt +12 -0
  36. data/sample_programs/modyul.bt +20 -0
  37. data/sample_programs/nakatukoy.bt +13 -0
  38. data/sample_programs/ngunit_kapag.bt +8 -0
  39. data/sample_programs/o_ang.bt +3 -0
  40. data/sample_programs/pamamaraan-sa-pagkakamali.bt +11 -0
  41. data/sample_programs/pangalan.bt +10 -0
  42. data/sample_programs/panguri.bt +13 -0
  43. data/sample_programs/panuntunan.bt +23 -0
  44. data/sample_programs/para_sa.bt +4 -0
  45. data/sample_programs/pibonasyi.bt +59 -0
  46. data/sample_programs/siguraduhin.bt +8 -0
  47. data/sample_programs/tanggalin.bt +23 -0
  48. data/sample_programs/timebomb.bt +36 -0
  49. data/spec/filipinomemes/compiler_spec.rb +116 -0
  50. data/spec/spec_helper.rb +61 -0
  51. metadata +152 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9f707a9a2330981032697a321940dd63e9d30f33
4
+ data.tar.gz: f3cc81155abb10bc1e7b849d847ef5523fae55b9
5
+ SHA512:
6
+ metadata.gz: 1d1435c04d40fc4004d4dfd9c5aa3ff2f8124c1cd29755a66fc6396b273409178ca938a03f5e20dd20213f05047ecc4c743a8646c932d948d22a90e8c0306d69
7
+ data.tar.gz: a77c14b4986adc71ca278304ca9ffc5d48f4489c04755cc843391cd8ee8bfde6ecb2204b0821d74d8097d1c86ac4b73c27012de8808cadd6c3ee86a7ae8a165c
data/.gitignore ADDED
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ .rvmrc
7
+ Gemfile.lock
8
+ InstalledFiles
9
+ _yardoc
10
+ coverage
11
+ doc/
12
+ lib/bundler/man
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ - 1.9.3
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in filipinomemes.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2018 Jan Paul R. Carag
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,602 @@
1
+ # Bato
2
+
3
+ Ang 'Bato Programming Language' ay isang scripting language sa wikang Filipino.
4
+
5
+ Subukan ang [Bato](https://trybato.herokuapp.com/)
6
+
7
+ ## Pagtatalaga
8
+
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
11
+
12
+ gem install bato
13
+
14
+ ## Bakit Bato?
15
+
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.
18
+
19
+ ## Ang unang program
20
+
21
+ Gumawa ng isang file na `kamusta_mundo.bt` na may mga sumusunod na nilalaman
22
+
23
+ ip 1 > 0
24
+ mag_print "Kumusta mundo!"
25
+ ginagawa_mue
26
+ mag_print "Mayroong sira"
27
+ finish_na
28
+
29
+ at pa-andarin ang program sa pamamagitan ng
30
+
31
+ bato kamusta_mundo.bt
32
+
33
+ ## Sintaks
34
+
35
+ ### Pagsusulat
36
+
37
+ "Ito ay mga serye ng mga sulat sa wikang Filipino"
38
+ <<-FINISH_NA
39
+ mga salita
40
+ na nahahati
41
+ sa ilang mga hilera
42
+ FINISH_NA
43
+
44
+ ### Dinikit na mga pamamaraan
45
+ 'magandang araw'.baliktad # => 'wara gnadnagam'
46
+ 'Pangungusap'.haba # => 11
47
+
48
+ ### Ekspresyong Boolean
49
+
50
+ truts
51
+ mali
52
+ hindi truts
53
+
54
+ ### Kondisyon
55
+
56
+ Paggamit ng kondisyon.
57
+
58
+ agik halaga > 100 dapat
59
+ "ayos lang"
60
+ agik_ginagawa_mue halaga > 0 dapat
61
+ "ok lang"
62
+ ginagawa_mue
63
+ "wala lang"
64
+ finish_na
65
+
66
+ hakdog halaga
67
+ pagka 5 dapat "lima"
68
+ pagka 4 dapat "apat"
69
+ ginagawa_mue "wala"
70
+ finish_na
71
+
72
+ ### Pamamaraan sa pagkakamali
73
+
74
+ bilang_ng_pagkakamali = 0
75
+ glhf
76
+ # mag komento ip hindi sigurado
77
+ 1 / 0
78
+ iligtas => pagkakamali
79
+ bilang_ng_pagkakamali += 1
80
+ neba_gibap ip bilang_ng_pagkakamali < 3
81
+ iangat "malubhang pagkakamali"
82
+ siguraduhing
83
+ mag_print "Tapos na"
84
+ finish_na
85
+
86
+ ### Panuntunan
87
+
88
+ ang iprintAngPangalan(pangalan = wala)
89
+ ip pangalan != wala
90
+ mag_print "Magandang araw sa iyo #{pangalan}!"
91
+ ginagawa_mue
92
+ mag_print "Magandang araw!"
93
+ finish_na
94
+ finish_na
95
+
96
+ iprintAngPangalan "Maria" # => "Magandang araw sa iyo Maria!"
97
+ iprintAngPangalan # => "Magandang araw!"
98
+
99
+ ## Paggamit ng mga ekspresyon ng mga salita sa program
100
+
101
+ ### finish_na
102
+
103
+ Maari kang gumamit sa alin sa mga sumusunod sa pagtatapos ng program
104
+
105
+ finish_na
106
+ gg
107
+ finish_na
108
+
109
+ Halimbawa
110
+
111
+ bilang_ng_saging = 2
112
+ ip bilang_ng_saging > 1
113
+ mag_print "Mayroon akong #{bilang_ng_saging} saging! 🍌"
114
+ ginagawa_mue
115
+ mag_print "Wala na akong saging! 😐"
116
+ finish_na
117
+
118
+ ### ginagawa_mue
119
+
120
+ Kung ang ekspresyon ay hindi nasunod maaring gumamit sa alin sa mga sumusunod
121
+
122
+ ginagawa_mue
123
+ els
124
+
125
+ Halimbawa
126
+
127
+ pangalan_mo = "Maliksi"
128
+ agik pangalan_mo == "Maliksi"
129
+ mag_print "Ikaw ay si #{pangalan_mo}!"
130
+ ginagawa_mue
131
+ mag_print "Magandang araw sa iyo #{pangalan_mo}!"
132
+ finish_na
133
+
134
+ ### hakdog
135
+
136
+ Kung mayroon kang ekspresyon na madaming resulta gawa ng mga iba't ibang kondisyon, maari kang gumamit ng mga sumusunod
137
+
138
+ hakdog
139
+ kays
140
+
141
+ Halimbawa
142
+
143
+ pangalan_mo = "Mabait"
144
+
145
+ hakdog pangalan_mo
146
+ ay "Maliksi"
147
+ mag_print "Ikaw ay si Maliksi!"
148
+ ay "Matipuno"
149
+ mag_print "Ikaw ay si Matipuno!"
150
+ ay "Mabait"
151
+ mag_print "Ikaw ay si Mabait!"
152
+ ginagawa_mue
153
+ mag_print "Magandang araw sa iyo!"
154
+ finish_na
155
+
156
+ ### siguraduhing
157
+
158
+ Kung mayroon kang ekspresyon na gusto mong masunod kahit ano pa ang kahihinatnan nito, gumamit ng mga sumusunod
159
+
160
+ siguraduhing
161
+ siguraduhin
162
+
163
+ Halimbawa
164
+
165
+ wala_na
166
+ itaas "May sira!"
167
+ agapan
168
+ mag_print "Ipagpatuloy..."
169
+ itaas "May nasira na na-agapan"
170
+ siguraduhing
171
+ mag_print "Tapos na"
172
+ finish_na
173
+
174
+ ### grupo
175
+
176
+ Ang grupo ay ang lalagyanan ng mga kabilang na klase sa iyong program
177
+
178
+ grupo
179
+
180
+ Halimbawa
181
+
182
+ grupo Hayop
183
+ KABUUAN = 5
184
+
185
+ bilang Aso
186
+ ang tahol
187
+ mag_print "Woof..."
188
+ finish_na
189
+
190
+ ang kumanin
191
+ mag_print "..."
192
+ finish_na
193
+
194
+ ang ikembot_ang_buntot
195
+ mag_print "Ginagawa ko ito dahil masaya ako!"
196
+ finish_na
197
+ finish_na
198
+ finish_na
199
+
200
+ dami = 6
201
+ browny = Hayop::Aso.kumatawan
202
+ browny.ikembot_ang_buntot ip dami >= Hayop::KABUUAN
203
+
204
+ ### agik_ginagawa_mue
205
+
206
+ Gumamit ng agik_ginagawa_mue kapag mayroon ka pang kondisyon maliban sa nauna ng kondisyon
207
+
208
+ agik_ginagawa_mue
209
+ elsip
210
+ Halimbawa
211
+
212
+ pangalan_mo = "Masipag"
213
+ agik pangalan_mo == "Matipuno"
214
+ mag_print "Ikaw ay si Matipuno!"
215
+ agik_ginagawa_mue pangalan_mo == "Masipag"
216
+ mag_print "Ikaw ay si Masipag!"
217
+ ginagawa_mue
218
+ mag_print "Wala kang rekord saamin!"
219
+ finish_na
220
+
221
+ ### ang
222
+
223
+ Ang ang ay may kalakip na pangalan upang ito ay matawag sa program
224
+
225
+ ang
226
+ panuntunan
227
+ panuntunang
228
+
229
+ Halimbawa
230
+
231
+ ang id(estudyante = {})
232
+ pangalan = estudyante[:pangalan]
233
+ edad = estudyante[:edad]
234
+ tirahan = estudyante[:tirahan]
235
+ baitang = estudyante[:baitang]
236
+ seksiyon = estudyante[:seksiyon]
237
+
238
+ mag_print <<-FINISH_NA
239
+ Pangalan: #{pangalan}
240
+ Edad: #{edad}
241
+ Tirahan: #{tirahan}
242
+ Baitang: #{baitang}
243
+ Seksiyon: #{seksiyon}
244
+ FINISH_NA
245
+ finish_na
246
+
247
+ id({
248
+ pangalan: "Maliksi Batubalani",
249
+ edad: "13",
250
+ tirahan: "Ilocos",
251
+ baitang: "6",
252
+ seksiyon: "Masisipag"
253
+ })
254
+
255
+ ### agapan
256
+
257
+ Ang agapan ay ginagamit kung mayroon maaaring mangyaring pagkakamali na gusto mong maisalba o mailigtas
258
+
259
+ iligtas
260
+ agapan
261
+
262
+ Halimbawa
263
+
264
+ wala_na
265
+ 1 / 0
266
+ agapan
267
+ mag_print "Hindi ito posible!"
268
+ finish_na
269
+
270
+ ### dapat
271
+
272
+ ip mayroon kang ekspresyon na mayroong inaasahan na resulta, gumamit ng dapat
273
+
274
+ dapat
275
+
276
+ Halimbawa
277
+
278
+ panulat_mo = "lapis"
279
+
280
+ papel = hakdog panulat_mo
281
+ ay "lapis" dapat "bond paper"
282
+ ay "ballpen" dapat "dilaw na papel"
283
+ ginagawa_mue "intermediate paper"
284
+ finish_na
285
+
286
+ mag_print "Ang papel na gagamitin mo ay #{papel}"
287
+
288
+ ### magbigay_daan
289
+
290
+ ip ang ekspresyon ay mayroong inaasahang dapat na ibigay na resulta habang gumagana pa ang program, gumamit ng magbigay_daan
291
+
292
+ magbigay_daan
293
+ bigyang_daan
294
+
295
+ Halimbawa
296
+
297
+ ang gumawaNgID
298
+ mag_print "------------------------------------------"
299
+ magbigay_daan
300
+ mag_print "------------------------------------------"
301
+ finish_na
302
+
303
+ ang ID(impormasyon = {})
304
+ gumawaNgID adbans
305
+ mag_print <<-FINISH_NA
306
+ Pangalan: #{impormasyon[:pangalan]}
307
+ Edad: #{impormasyon[:edad]}
308
+ Tirahan: #{impormasyon[:tirahan]}
309
+ Baitang: #{impormasyon[:baitang]}
310
+ Seksiyon: #{impormasyon[:seksiyon]}
311
+ FINISH_NA
312
+ finish_na
313
+ finish_na
314
+
315
+ ID({
316
+ pangalan: "Maliksi Batubalani",
317
+ edad: "13",
318
+ tirahan: "Ilocos",
319
+ baitang: "6",
320
+ seksiyon: "Masisipag"
321
+ })
322
+
323
+ ### para_sa
324
+
325
+ ip may listahan na nais mong isa isahin, gumamit ng para_sa
326
+
327
+ para_sa
328
+ para_ang
329
+
330
+ Halimbawa
331
+
332
+ listahan_ng_mga_prutas = ["mansanas", "mangga", "guava", "santol", "ubas"]
333
+ para_sa prutas na_nasa listahan_ng_mga_prutas adbans
334
+ mag_print prutas.sa_malaking_titik
335
+ finish_na
336
+
337
+ ### neba_gibap
338
+
339
+ Ginagamit ang neba_gibap upang umikot muli ang ekspresyon kung may sirang nangyari at nais mo ulit subukan pa andarin
340
+
341
+ neba_gibap
342
+
343
+ Halimbawa
344
+
345
+ bilang_ng_pagkakamali = 0
346
+ glhf
347
+ 1 / 0
348
+ agapan => pagkakamali
349
+ bilang_ng_pagkakamali += 1
350
+ neba_gibap ip bilang_ng_pagkakamali < 3
351
+ iangat "malubhang pagkakamali"
352
+ siguraduhing
353
+ mag_print "Tapos na"
354
+ finish_na
355
+
356
+ ### ibalik
357
+
358
+ ip mayroon kang ibabalik na resulta sa nagtawag ng ang
359
+
360
+ ibalik
361
+ ibalik_ang
362
+ magbalik
363
+ magbalik_nang
364
+ isauli
365
+ isauli_ang
366
+ ibigay
367
+ ibigay_ang
368
+ magbigay
369
+ magbigay_nang
370
+
371
+ Halimbawa
372
+
373
+ ang magdagdag_ng_isa(halaga)
374
+ idadagdag = halaga + 1
375
+ ibalik_ang halaga
376
+ finish_na
377
+
378
+ ### agik
379
+
380
+ Ginagamit ang agik kung meron kang kondisyon sa iyong ekspresyon
381
+
382
+ agik
383
+ ip
384
+
385
+ Halimbawa
386
+
387
+ agik 1 > 0
388
+ mag_print "mas madami!"
389
+ ginagawa_mue
390
+ mag_print "may sira"
391
+ finish_na
392
+
393
+ ### bilang
394
+
395
+ Ang bilang ay ang pagsasabilang ng isang kaukulang klasipikasyon
396
+
397
+ bilang
398
+
399
+ Halimbawa
400
+
401
+ grupo Tinapay
402
+ bilang Donut
403
+ ang flavor
404
+ mag_print 'Strawberry!'
405
+ finish_na
406
+ finish_na
407
+ finish_na
408
+
409
+ tinapay = Tinapay::Donut.kumatawan
410
+ tinapay.flavor
411
+ => 'Strawberry!'
412
+
413
+ ### ako_magisip
414
+
415
+ Gumamit ng ako_magisip kung may hinihintay pa na resulta, kondisyon o pangyayari
416
+
417
+ ako_magisip
418
+ waylwaylwayl
419
+
420
+ Halimbawa
421
+
422
+ may_buhay = istroo
423
+
424
+ ako_magisip may_buhay
425
+ mag_print 'may pag-asa!'
426
+ auko_na
427
+ finish_na
428
+ => 'may pag-asa!'
429
+
430
+ ### alyas
431
+
432
+ Gumamit ng alyas kung kailangan mo tawagin sa ibang pangalan ang iyong panuntunan
433
+
434
+ alyas
435
+
436
+ Halimbawa
437
+
438
+ bilang Hayop
439
+ ang aso
440
+ mag_print 'si browny ay mabait!'
441
+ finish_na
442
+ alyas browny aso
443
+ finish_na
444
+
445
+ hayop = Hayop.kumatawan
446
+ hayop.browny
447
+ => 'si browny ay mabait!'
448
+
449
+ ### nakatukoy?
450
+
451
+ Ang nakatukoy? ay ginagamit kung kailangan malaman kung umiiral ang isang grupo o klase.
452
+
453
+ nakatukoy?
454
+ nakasaad?
455
+
456
+ Halimbawa
457
+
458
+ grupo Manggagawa
459
+ bilang Magsasaka
460
+ ang pananim
461
+ ['sibuyas', 'kamatis', 'sili', 'palay', 'mais'].isaisahin adbans |pananim|
462
+ mag_print "Mag tatanim ng #{pananim} ngayong panahon"
463
+ finish_na
464
+ finish_na
465
+ finish_na
466
+ finish_na
467
+
468
+ kung nakatukoy?(Manggagawa::Magsasaka)
469
+ mag_print 'May nakatukoy!'
470
+ finish_na
471
+
472
+ ### tanggalin
473
+
474
+ Ginagamit ang tanggalin kung may tatanggaling panuntunan sa isang klase
475
+
476
+ tanggalin
477
+ magtanggal
478
+
479
+ Halimbawa
480
+
481
+ grupo Hayop
482
+ bilang Aso
483
+ ang tahol
484
+ mag_print 'baw waw!'
485
+ finish_na
486
+ finish_na
487
+ finish_na
488
+
489
+ bilang Pusa < Hayop::Aso
490
+ tanggalin tahol
491
+ ang meow
492
+ mag_print 'meow wahu!'
493
+ finish_na
494
+ finish_na
495
+
496
+ pusa = Pusa.kumatawan
497
+
498
+ wala_na
499
+ pusa.tahol
500
+ agapan => pagkakamali
501
+ mag_print "ang pagkakamali ay '#{pagkakamali}'"
502
+ finish_na
503
+
504
+ ### tama_na
505
+
506
+ Gumamit ng 'auko_na' kung may nais kang matapos na kondisyon gamit ang 'ako_magisip'
507
+
508
+ tama_na
509
+ auko_na
510
+
511
+ Halimbawa
512
+
513
+ nakamit = mali
514
+
515
+ ako_magisip nakamit == mali
516
+ mag_print 'hindi pa nakakamit!'
517
+ auko_na
518
+ finish_na
519
+
520
+ mag_print 'nakamit na!'
521
+
522
+ ### sa
523
+
524
+ Ginagamit ang 'sa' kung nais mong matukoy ang kasulukuyang listahan
525
+
526
+ sa
527
+ sa_loob_ng
528
+ nasa
529
+ na_nasa
530
+
531
+ Halimbawa
532
+
533
+ Tignan ang [para_sa](#para_sa)
534
+
535
+ ### adbans
536
+
537
+ Ginagamit ang 'adbans' kung nais mong i konteksto ang kasulukuyang listahan
538
+
539
+ adbans
540
+ dududu
541
+
542
+ Halimbawa
543
+
544
+ Tignan ang [magbigay_daan](#magbigay_daan), [nakatukoy?](#nakatukoy?)
545
+
546
+ ### hanggang
547
+
548
+ Ang 'hanggang' ay magpapatuloy tumakbo hanggang maabot ang tamang kundisyon.
549
+
550
+ hanggang
551
+ hanggang_ang
552
+ mapa_hanggang
553
+
554
+ Halimbawa
555
+
556
+ numero = 0
557
+ panghuling_numero = 5
558
+ glhf
559
+ mag_print "Ang numero ay #{numero} na"
560
+ numero += 1
561
+ finish_na hanggang numero < panghuling_numero
562
+
563
+ ### maliban_na
564
+
565
+ malibang
566
+ maliban_na
567
+ maliban_ang
568
+
569
+ Halimbawa
570
+
571
+ mga_persona = [
572
+ { pangalan: 'Gener', kasarian: 'lalaki' },
573
+ { pangalan: 'Karmen', kasarian: 'babae' }
574
+ ]
575
+
576
+ mga_persona.isaisahin adbans |tao|
577
+ malibang tao[:kasarian] == 'lalaki'
578
+ mag_print "si #{tao[:pangalan]} ay babae!"
579
+ ginagawa_mue
580
+ mag_print "si #{tao[:pangalan]} ay lalaki!"
581
+ finish_na
582
+ finish_na
583
+
584
+ ### o
585
+
586
+ Ang 'o' ay ginagamit upang piliin ang nagsasauli ng tama.
587
+
588
+ o
589
+ o_ang
590
+
591
+ Halimbawa
592
+
593
+ istroo o mali
594
+ => istroo
595
+
596
+ ## Pagtulong sa pagdedevelop ng Bato
597
+
598
+ Magpadala ng mga kahilingan sa paggawa ng ticket.
599
+
600
+ ## Lisensya
601
+
602
+ Instituto Ng Tekonolohiya sa Massachusetts License (makikita sa LICENSE.txt na file).