aboutsummaryrefslogtreecommitdiff
path: root/doc/docs/id-id
diff options
context:
space:
mode:
Diffstat (limited to 'doc/docs/id-id')
-rw-r--r--doc/docs/id-id/doc/advanced/do.md22
-rw-r--r--doc/docs/id-id/doc/control-flow/for-loop.md16
-rw-r--r--doc/docs/id-id/doc/control-flow/while-loop.md42
-rw-r--r--doc/docs/id-id/doc/language-basics/module.md (renamed from doc/docs/id-id/doc/advanced/module.md)0
-rw-r--r--doc/docs/id-id/doc/objects/with-statement.md44
5 files changed, 121 insertions, 3 deletions
diff --git a/doc/docs/id-id/doc/advanced/do.md b/doc/docs/id-id/doc/advanced/do.md
index ac75531..52ef5dc 100644
--- a/doc/docs/id-id/doc/advanced/do.md
+++ b/doc/docs/id-id/doc/advanced/do.md
@@ -20,7 +20,27 @@ print var -- nil di sini
20 20
21</YueDisplay> 21</YueDisplay>
22 22
23`do` di YueScript juga bisa digunakan sebagai ekspresi, memungkinkan Anda menggabungkan beberapa baris menjadi satu. Hasil ekspresi `do` adalah pernyataan terakhir di badannya. 23`do` di YueScript juga bisa digunakan sebagai ekspresi, memungkinkan Anda menggabungkan beberapa baris menjadi satu. Hasil ekspresi `do` adalah pernyataan terakhir di badannya. Ekspresi `do` mendukung penggunaan `break` untuk memutus alur eksekusi dan mengembalikan banyak nilai lebih awal.
24
25```yuescript
26status, value = do
27 n = 12
28 if n > 10
29 break "large", n
30 break "small", n
31```
32
33<YueDisplay>
34
35```yue
36status, value = do
37 n = 12
38 if n > 10
39 break "large", n
40 break "small", n
41```
42
43</YueDisplay>
24 44
25```yuescript 45```yuescript
26counter = do 46counter = do
diff --git a/doc/docs/id-id/doc/control-flow/for-loop.md b/doc/docs/id-id/doc/control-flow/for-loop.md
index 65386f7..3835cce 100644
--- a/doc/docs/id-id/doc/control-flow/for-loop.md
+++ b/doc/docs/id-id/doc/control-flow/for-loop.md
@@ -86,7 +86,7 @@ doubled_evens = for i = 1, 20
86 86
87</YueDisplay> 87</YueDisplay>
88 88
89Selain itu, loop for mendukung break dengan nilai kembalian, sehingga loop itu sendiri bisa dipakai sebagai ekspresi yang keluar lebih awal dengan hasil bermakna. 89Selain itu, loop for mendukung break dengan nilai kembalian, sehingga loop itu sendiri bisa dipakai sebagai ekspresi yang keluar lebih awal dengan hasil bermakna. Ekspresi `for` mendukung `break` dengan banyak nilai.
90 90
91Contohnya, untuk menemukan angka pertama yang lebih besar dari 10: 91Contohnya, untuk menemukan angka pertama yang lebih besar dari 10:
92 92
@@ -106,6 +106,20 @@ first_large = for n in *numbers
106 106
107Sintaks break-dengan-nilai ini memungkinkan pola pencarian atau keluar-lebih-awal yang ringkas langsung di dalam ekspresi loop. 107Sintaks break-dengan-nilai ini memungkinkan pola pencarian atau keluar-lebih-awal yang ringkas langsung di dalam ekspresi loop.
108 108
109```yuescript
110key, score = for k, v in pairs data
111 break k, v * 10 if k == "target"
112```
113
114<YueDisplay>
115
116```yue
117key, score = for k, v in pairs data
118 break k, v * 10 if k == "target"
119```
120
121</YueDisplay>
122
109Anda juga bisa memfilter nilai dengan menggabungkan ekspresi for dengan pernyataan continue. 123Anda juga bisa memfilter nilai dengan menggabungkan ekspresi for dengan pernyataan continue.
110 124
111Loop for di akhir badan fungsi tidak diakumulasikan menjadi tabel untuk nilai kembalian (sebaliknya fungsi akan mengembalikan nil). Gunakan pernyataan return eksplisit, atau ubah loop menjadi list comprehension. 125Loop for di akhir badan fungsi tidak diakumulasikan menjadi tabel untuk nilai kembalian (sebaliknya fungsi akan mengembalikan nil). Gunakan pernyataan return eksplisit, atau ubah loop menjadi list comprehension.
diff --git a/doc/docs/id-id/doc/control-flow/while-loop.md b/doc/docs/id-id/doc/control-flow/while-loop.md
index 3e302cc..0c3a28d 100644
--- a/doc/docs/id-id/doc/control-flow/while-loop.md
+++ b/doc/docs/id-id/doc/control-flow/while-loop.md
@@ -45,7 +45,25 @@ until running == false do my_function!
45 45
46</YueDisplay> 46</YueDisplay>
47 47
48Seperti loop for, loop while juga bisa digunakan sebagai ekspresi. Selain itu, agar sebuah fungsi mengembalikan nilai akumulasi dari loop while, pernyataannya harus di-return secara eksplisit. 48Seperti loop for, loop while juga bisa digunakan sebagai ekspresi. Ekspresi `while` dan `until` mendukung `break` dengan banyak nilai.
49
50```yuescript
51value, doubled = while true
52 n = get_next!
53 break n, n * 2 if n > 10
54```
55
56<YueDisplay>
57
58```yue
59value, doubled = while true
60 n = get_next!
61 break n, n * 2 if n > 10
62```
63
64</YueDisplay>
65
66Selain itu, agar sebuah fungsi mengembalikan nilai akumulasi dari loop while, pernyataannya harus di-return secara eksplisit.
49 67
50## Repeat Loop 68## Repeat Loop
51 69
@@ -70,3 +88,25 @@ until i == 0
70``` 88```
71 89
72</YueDisplay> 90</YueDisplay>
91
92Ekspresi `repeat` juga mendukung `break` dengan banyak nilai:
93
94```yuescript
95i = 1
96value, scaled = repeat
97 break i, i * 100 if i > 3
98 i += 1
99until false
100```
101
102<YueDisplay>
103
104```yue
105i = 1
106value, scaled = repeat
107 break i, i * 100 if i > 3
108 i += 1
109until false
110```
111
112</YueDisplay>
diff --git a/doc/docs/id-id/doc/advanced/module.md b/doc/docs/id-id/doc/language-basics/module.md
index 103e3f6..103e3f6 100644
--- a/doc/docs/id-id/doc/advanced/module.md
+++ b/doc/docs/id-id/doc/language-basics/module.md
diff --git a/doc/docs/id-id/doc/objects/with-statement.md b/doc/docs/id-id/doc/objects/with-statement.md
index 96a3efd..b3dd520 100644
--- a/doc/docs/id-id/doc/objects/with-statement.md
+++ b/doc/docs/id-id/doc/objects/with-statement.md
@@ -44,6 +44,50 @@ file = with File "favorite_foods.txt"
44 44
45</YueDisplay> 45</YueDisplay>
46 46
47Ekspresi `with` mendukung `break` dengan satu nilai:
48
49```yuescript
50result = with obj
51 break .value
52```
53
54<YueDisplay>
55
56```yue
57result = with obj
58 break .value
59```
60
61</YueDisplay>
62
63Setelah `break value` digunakan di dalam `with`, ekspresi `with` tidak lagi mengembalikan objek targetnya, melainkan mengembalikan nilai dari `break`.
64
65```yuescript
66a = with obj
67 .x = 1
68-- a adalah obj
69
70b = with obj
71 break .x
72-- b adalah .x, bukan obj
73```
74
75<YueDisplay>
76
77```yue
78a = with obj
79 .x = 1
80-- a adalah obj
81
82b = with obj
83 break .x
84-- b adalah .x, bukan obj
85```
86
87</YueDisplay>
88
89Berbeda dari `for` / `while` / `repeat` / `do`, `with` hanya mendukung satu nilai `break`.
90
47Atau… 91Atau…
48 92
49```yuescript 93```yuescript