Skip to content

Commit a6d35d0

Browse files
authored
Merge pull request #25 from 109149/master
Generators
2 parents 4d6dc34 + 5b7584d commit a6d35d0

File tree

3 files changed

+139
-133
lines changed

3 files changed

+139
-133
lines changed

1-js/12-generators-iterators/1-generators/01-pseudo-random-generator/solution.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ alert(generator.next().value); // 282475249
1616
alert(generator.next().value); // 1622650073
1717
```
1818

19-
Please note, the same can be done with a regular function, like this:
19+
იგივე შეგვიძლია გავაკეთოთ ჩვეულებრივი ფუნქციითაც:
2020

2121
```js run
2222
function pseudoRandom(seed) {
@@ -35,4 +35,4 @@ alert(generator()); // 282475249
3535
alert(generator()); // 1622650073
3636
```
3737

38-
That also works. But then we lose ability to iterate with `for..of` and to use generator composition, that may be useful elsewhere.
38+
მართალია ზემოთ მოცემული კოდი მუშაობს, მაგრამ ჩვენ ვკარგავთ `for..of`-ის გამოყენების შესაძლებლობასა და გენერატორების კომპოზიციას, რაც შეიძლება სხვაგან გამოგვადგეს.

1-js/12-generators-iterators/1-generators/01-pseudo-random-generator/task.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11

2-
# Pseudo-random generator
2+
# ფსეუდო-რანდომ გენერატორი
33

4-
There are many areas where we need random data.
4+
ბევრ სფეროში გვჭირდება რანდომ მონაცემი.
55

6-
One of them is testing. We may need random data: text, numbers, etc. to test things out well.
6+
მათ შორის ერთ-ერთია ტესტირება. ჩვენ დასატესტად შეიძლება დაგვჭირდეს რანდომ მონაცემი: ტექსტი, რიცხვები, და ა.შ.
77

8-
In JavaScript, we could use `Math.random()`. But if something goes wrong, we'd like to be able to repeat the test, using exactly the same data.
8+
ჯავასკრიპტში, შეგვიძლია გამოვიყენოთ `Math.random()`. მაგრამ თუ რამე შეცდომა მოხდა, გვინდა რომ ტესტი გავიმეოროთ იმავე მონაცემებით.
99

10-
For that, so called "seeded pseudo-random generators" are used. They take a "seed", the first value, and then generate the next ones using a formula so that the same seed yields the same sequence, and hence the whole flow is easily reproducible. We only need to remember the seed to repeat it.
10+
ამისათვის, "seeded pseudo-random გენერატორები" გამოიყენება. ისინი იღევენ "seed"-ს, პირველ მნიშვნელობას და დანარჩენებს აგენერირებენ ფორმულით, და შესაბამისად, იგივე "seed" ყოველ ჯერზე იმავე მიმდევრობას დააბრუნებს. ტესტის გასამეორებლად მხოლოდ "seed"-ის დამახსოვრებაა საჭირო.
1111

12-
An example of such formula, that generates somewhat uniformly distributed values:
12+
ამდაგვარი ფორმულის, რომელიც ასე თუ ისე თანაბრად განაწილებულ მნიშვნელობებს აგენერირებს, მაგალითია:
1313

1414
```
1515
next = previous * 16807 % 2147483647
1616
```
1717

18-
If we use `1` as the seed, the values will be:
18+
თუ გამოვიყენებთ `1`-ს როგორც "seed"-ს, მაშინ მნიშვნელობები იქნება:
1919
1. `16807`
2020
2. `282475249`
2121
3. `1622650073`
22-
4. ...and so on...
22+
4. ...და ასე შემდეგ...
2323

24-
The task is to create a generator function `pseudoRandom(seed)` that takes `seed` and creates the generator with this formula.
24+
ჩვენი დავალებაა შევქმნათ გენერატორი ფუნქცია `pseudoRandom(seed)` რომელიც არგუმენტად იღებს `seed`-ს და ზემო ფორმულით ქმნის გენერატორს.
2525

26-
Usage example:
26+
გამოყენების მაგალითი:
2727

2828
```js
2929
let generator = pseudoRandom(1);

0 commit comments

Comments
 (0)