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.
- checksums.yaml +4 -4
- data/Gemfile.lock +10 -9
- data/README.md +585 -393
- data/lib/bato/bersiyon.rb +1 -1
- data/lib/bato/core_ext/integer.rb +1 -0
- data/lib/bato/core_ext/kernel.rb +2 -0
- data/lib/bato/core_ext/string.rb +1 -0
- data/mga_halimbawa/batotris.bt +2 -2
- metadata +3 -3
data/README.md
CHANGED
@@ -1,100 +1,155 @@
|
|
1
1
|
# Bato
|
2
2
|
|
3
|
-
Ang
|
3
|
+
Ang **Bato Programming Language** ay isang scripting language sa wikang
|
4
|
+
*Filipino*.
|
4
5
|
|
5
|
-
|
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
|
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
|
-
|
33
|
+
```shell
|
34
|
+
gem install bato
|
35
|
+
```
|
13
36
|
|
14
37
|
## Bakit Bato?
|
15
38
|
|
16
|
-
Ang
|
17
|
-
Ang kadahilanang ginamit ang pangalang 'bato' ay
|
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
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
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
|
-
|
57
|
+
```shell
|
58
|
+
bato kamusta_mundo.bt
|
59
|
+
```
|
32
60
|
|
33
61
|
## Sintaks
|
34
62
|
|
35
63
|
### Pagsusulat
|
36
64
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
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
|
-
|
46
|
-
|
75
|
+
|
76
|
+
```ruby
|
77
|
+
'magandang araw'.baliktad # => 'wara gnadnagam'
|
78
|
+
'Pangungusap'.haba # => 11
|
79
|
+
```
|
47
80
|
|
48
81
|
### Ekspresyong Boolean
|
49
82
|
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
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
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
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
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
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
|
-
|
97
|
-
|
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
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
160
|
+
```ruby
|
161
|
+
wakas
|
162
|
+
dulo
|
163
|
+
katapusan
|
164
|
+
```
|
109
165
|
Halimbawa
|
110
166
|
|
111
|
-
|
112
|
-
|
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
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
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
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
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
|
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
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
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
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
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
|
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
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
258
|
+
```ruby
|
259
|
+
tiyaking
|
260
|
+
matiyak
|
261
|
+
tiyakin
|
262
|
+
siguraduhing
|
263
|
+
siguraduhin
|
264
|
+
panigurado
|
265
|
+
```
|
185
266
|
|
186
267
|
Halimbawa
|
187
268
|
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
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
|
-
|
284
|
+
```ruby
|
285
|
+
grupo
|
286
|
+
```
|
202
287
|
|
203
288
|
Halimbawa
|
204
289
|
|
205
|
-
|
206
|
-
|
290
|
+
```ruby
|
291
|
+
grupo Hayop
|
292
|
+
KABUUAN = 5
|
207
293
|
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
294
|
+
bilang Aso
|
295
|
+
ang tahol
|
296
|
+
mag_print "Woof..."
|
297
|
+
wakas
|
212
298
|
|
213
|
-
|
214
|
-
|
215
|
-
|
299
|
+
ang kumanin
|
300
|
+
mag_print "..."
|
301
|
+
wakas
|
216
302
|
|
217
|
-
|
218
|
-
|
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
|
-
|
224
|
-
|
225
|
-
|
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
|
316
|
+
Gumamit ng ngunit_kapag kapag mayroon ka pang kondisyon maliban sa nauna ng
|
317
|
+
kondisyon
|
230
318
|
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
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
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
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
|
-
|
252
|
-
|
253
|
-
|
343
|
+
```ruby
|
344
|
+
ang
|
345
|
+
panuntunan
|
346
|
+
panuntunang
|
347
|
+
```
|
254
348
|
|
255
349
|
Halimbawa
|
256
350
|
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
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
|
379
|
+
Ang agapan ay ginagamit kung mayroon maaaring mangyaring pagkakamali na gusto
|
380
|
+
mong maisalba o mailigtas
|
284
381
|
|
285
|
-
|
286
|
-
|
382
|
+
```ruby
|
383
|
+
iligtas
|
384
|
+
agapan
|
385
|
+
```
|
287
386
|
|
288
387
|
Halimbawa
|
289
388
|
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
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
|
-
|
401
|
+
```ruby
|
402
|
+
dapat
|
403
|
+
```
|
301
404
|
|
302
405
|
Halimbawa
|
303
406
|
|
304
|
-
|
407
|
+
```ruby
|
408
|
+
panulat_mo = "lapis"
|
305
409
|
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
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
|
-
|
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
|
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
|
-
|
319
|
-
|
424
|
+
```ruby
|
425
|
+
magbigay_daan
|
426
|
+
bigyang_daan
|
427
|
+
```
|
320
428
|
|
321
429
|
Halimbawa
|
322
430
|
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
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
|
-
|
354
|
-
|
463
|
+
```ruby
|
464
|
+
para_sa
|
465
|
+
para_ang
|
466
|
+
```
|
355
467
|
|
356
468
|
Halimbawa
|
357
469
|
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
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
|
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
|
-
|
482
|
+
```ruby
|
483
|
+
subukang_muli
|
484
|
+
```
|
368
485
|
|
369
486
|
Halimbawa
|
370
487
|
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
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
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
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
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
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
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
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
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
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
|
-
|
553
|
+
```ruby
|
554
|
+
bilang
|
555
|
+
```
|
427
556
|
|
428
557
|
Halimbawa
|
429
558
|
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
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
|
-
|
439
|
-
|
440
|
-
|
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
|
-
|
447
|
-
|
577
|
+
```ruby
|
578
|
+
habang
|
579
|
+
habang_ang
|
580
|
+
```
|
448
581
|
|
449
582
|
Halimbawa
|
450
583
|
|
451
|
-
|
584
|
+
```ruby
|
585
|
+
may_buhay = totoo
|
452
586
|
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
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
|
596
|
+
Gumamit ng alyas kung kailangan mo tawagin sa ibang pangalan ang iyong
|
597
|
+
panuntunan
|
462
598
|
|
463
|
-
|
599
|
+
```ruby
|
600
|
+
alyas
|
601
|
+
```
|
464
602
|
|
465
603
|
Halimbawa
|
466
604
|
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
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
|
-
|
475
|
-
|
476
|
-
|
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
|
620
|
+
Ang nakatukoy? ay ginagamit kung kailangan malaman kung umiiral ang isang grupo
|
621
|
+
o klase
|
481
622
|
|
482
|
-
|
483
|
-
|
623
|
+
```ruby
|
624
|
+
nakatukoy?
|
625
|
+
nakasaad?
|
626
|
+
```
|
484
627
|
|
485
628
|
Halimbawa
|
486
629
|
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
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
|
-
|
498
|
-
|
499
|
-
|
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
|
-
|
506
|
-
|
650
|
+
```ruby
|
651
|
+
tanggalin
|
652
|
+
magtanggal
|
653
|
+
```
|
507
654
|
|
508
655
|
Halimbawa
|
509
656
|
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
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
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
666
|
+
bilang Pusa < Hayop::Aso
|
667
|
+
tanggalin tahol
|
668
|
+
ang meow
|
669
|
+
mag_print 'meow wahu!'
|
670
|
+
wakas
|
671
|
+
wakas
|
524
672
|
|
525
|
-
|
673
|
+
pusa = Pusa.kumatawan
|
526
674
|
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
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
|
-
|
538
|
-
|
686
|
+
```ruby
|
687
|
+
ihinto
|
688
|
+
hinto
|
689
|
+
```
|
539
690
|
|
540
691
|
Halimbawa
|
541
692
|
|
542
|
-
|
693
|
+
```ruby
|
694
|
+
nakamit = mali
|
543
695
|
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
696
|
+
habang nakamit == mali
|
697
|
+
mag_print 'hindi pa nakakamit!'
|
698
|
+
hinto
|
699
|
+
wakas
|
548
700
|
|
549
|
-
|
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
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
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
|
-
|
569
|
-
|
570
|
-
|
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
|
-
|
581
|
-
|
582
|
-
|
737
|
+
```ruby
|
738
|
+
hanggang
|
739
|
+
hanggang_ang
|
740
|
+
mapa_hanggang
|
741
|
+
```
|
583
742
|
|
584
743
|
Halimbawa
|
585
744
|
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
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
|
-
|
596
|
-
|
597
|
-
|
756
|
+
```ruby
|
757
|
+
malibang
|
758
|
+
maliban_na
|
759
|
+
maliban_ang
|
760
|
+
```
|
598
761
|
|
599
762
|
Halimbawa
|
600
763
|
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
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
|
-
|
619
|
-
|
783
|
+
```ruby
|
784
|
+
o
|
785
|
+
o_ang
|
786
|
+
```
|
620
787
|
|
621
788
|
Halimbawa
|
622
789
|
|
623
|
-
|
624
|
-
|
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
|
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
|
-
|
631
|
-
|
800
|
+
```ruby
|
801
|
+
katangian
|
802
|
+
panguri
|
803
|
+
```
|
632
804
|
|
633
805
|
Halimbawa
|
634
806
|
|
635
|
-
|
636
|
-
|
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
|
-
|
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
|
-
|
820
|
+
robot = Robot.gumawa
|
821
|
+
robot.pangalan = "bot-chukoy"
|
822
|
+
robot.kakayahan = "tambling"
|
823
|
+
robot.magpakilala
|
824
|
+
```
|
655
825
|
|
656
|
-
|
826
|
+
### ulit-ulitin
|
657
827
|
|
658
|
-
|
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
|
|