Skip to content

Commit 06f3211

Browse files
committed
translated until line 110
1 parent 569b237 commit 06f3211

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

1-js/99-js-misc/03-currying-partials/article.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -42,72 +42,72 @@ După cum puteți vedea, implementarea este directă: este vorba doar de două w
4242
- Atunci când este apelat ca `currySum(1)`, argumentul este salvat în mediul lexical și se returnează un nou wrapper `function(b)`.
4343
- Apoi, acest wrapper este apelat cu `2` ca argument, iar apelul este transmis către `sum` original.
4444

45-
More advanced implementations of currying, such as [_.curry](https://lodash.com/docs#curry) from lodash library, return a wrapper that allows a function to be called both normally and partially:
45+
Implementările mai avansate de currying, cum ar fi [_.curry](https://lodash.com/docs#curry) din biblioteca lodash, returnează un wrapper care permite ca o funcție să fie apelată atât în mod normal, cât și parțial:
4646

4747
```js run
4848
function sum(a, b) {
4949
return a + b;
5050
}
5151

52-
let curriedSum = _.curry(sum); // using _.curry from lodash library
52+
let curriedSum = _.curry(sum); // folosind _.curry din biblioteca lodash
5353

5454
alert( curriedSum(1, 2) ); // 3, still callable normally
5555
alert( curriedSum(1)(2) ); // 3, called partially
5656
```
5757

58-
## Currying? What for?
58+
## Currying? Pentru ce?
5959

60-
To understand the benefits we need a worthy real-life example.
60+
Pentru a înțelege beneficiile, avem nevoie de un exemplu demn din viața reală.
6161

62-
For instance, we have the logging function `log(date, importance, message)` that formats and outputs the information. In real projects such functions have many useful features like sending logs over the network, here we'll just use `alert`:
62+
De exemplu, avem funcția de logare `log(date, importance, message)` care formatează și produce informații. În proiectele reale astfel de funcții au multe caracteristici utile cum ar fi trimiterea de loguri prin rețea, aici vom folosi doar `alert`:
6363

6464
```js
6565
function log(date, importance, message) {
6666
alert(`[${date.getHours()}:${date.getMinutes()}] [${importance}] ${message}`);
6767
}
6868
```
6969

70-
Let's curry it!
70+
Haideți să o facem curry!
7171

7272
```js
7373
log = _.curry(log);
7474
```
7575

76-
After that `log` works normally:
76+
După aceea `log` funcționează normal:
7777

7878
```js
79-
log(new Date(), "DEBUG", "some debug"); // log(a, b, c)
79+
log(new Date(), "DEBUG", "ceva debug"); // log(a, b, c)
8080
```
8181

82-
...But also works in the curried form:
82+
...Dar funcționează și în forma curried:
8383

8484
```js
85-
log(new Date())("DEBUG")("some debug"); // log(a)(b)(c)
85+
log(new Date())("DEBUG")("ceva debug"); // log(a)(b)(c)
8686
```
8787

88-
Now we can easily make a convenience function for current logs:
88+
Acum putem realiza cu ușurință o funcție de conveniență pentru logurile curente:
8989

9090
```js
91-
// logNow will be the partial of log with fixed first argument
91+
// logNow va fi logul parțial cu primul argument fix
9292
let logNow = log(new Date());
9393

94-
// use it
95-
logNow("INFO", "message"); // [HH:mm] INFO message
94+
// folosiți-l
95+
logNow("INFO", "mesaj"); // [HH:mm] INFO mesaj
9696
```
9797

98-
Now `logNow` is `log` with fixed first argument, in other words "partially applied function" or "partial" for short.
98+
Acum `logNow` este `log` cu primul argument fix, cu alte cuvinte "funcție parțial aplicată" sau "parțială" pe scurt.
9999

100-
We can go further and make a convenience function for current debug logs:
100+
Putem merge mai departe și să facem o funcție de conveniență pentru logurile curente de debug:
101101

102102
```js
103103
let debugNow = logNow("DEBUG");
104104

105-
debugNow("message"); // [HH:mm] DEBUG message
105+
debugNow("mesaj"); // [HH:mm] DEBUG mesaj
106106
```
107107

108-
So:
109-
1. We didn't lose anything after currying: `log` is still callable normally.
110-
2. We can easily generate partial functions such as for today's logs.
108+
Deci:
109+
1. Nu am pierdut nimic după curry: `log` este încă apelabil în mod normal.
110+
2. Putem genera cu ușurință funcții parțiale, cum ar fi pentru logurile de astăzi.
111111

112112
## Advanced curry implementation
113113

0 commit comments

Comments
 (0)