docs: Add docs

This commit is contained in:
Sojin Park 2024-10-01 14:08:25 +09:00
parent 7695034979
commit 674d0868aa
7 changed files with 164 additions and 4 deletions

View File

@ -0,0 +1,47 @@
# curryRight
関数を右から左にカリー化して、一度に一つのパラメータで呼び出せるようにします。
順番に次のパラメータを受け取る関数を生成します。新しく生成された関数にすべてのパラメータが提供されると、この時に元の関数がこれまでに与えられたパラメータで呼び出されます。
[curry](./curry.md)とは異なり、この関数は関数を右から左にカリー化します。
## インターフェース
```typescript
function curryRight<R>(func: () => R): () => R;
function curryRight<P, R>(func: (p: P) => R): (p: P) => R;
function curryRight<P1, P2, R>(func: (p1: P1, p2: P2) => R): (p1: P2) => (p2: P1) => R;
function curryRight<P1, P2, P3, R>(func: (p1: P1, p2: P2, p3: P3) => R): (p1: P3) => (p2: P2) => (p3: P1) => R;
function curryRight<P1, P2, P3, P4, R>(func: (p1: P1, p2: P2, p3: P3, p4: P4) => R): (p1: P4) => (p2: P3) => (p3: P2) => (p4: P1) => R;
function curryRight<P1, P2, P3, P4, P5, R>(func: (p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) => R): (p1: P5) => (p2: P4) => (p3: P3) => (p4: P2) => (p5: P1) => R;
function curryRight(func: (...args: any[]) => any): (...args: any[]) => any;
function curryRight(func: (...args: any[]) => any): (...args: any[]) => any;
```
### パラメータ
- `func` (`(...args: any[]) => any`): カリー化する関数。
### 戻り値
(`(...args: any[]) => any`): カリー化された関数。
## 例
```typescript
function sum(a: number, b: number, c: number) {
return a + b + c;
}
const curriedSum = curryRight(sum);
// パラメータ `c` には値 `10` を与える必要があります。
const add10 = curriedSum(10);
// パラメータ `b` には値 `15` を与える必要があります。
const add25 = add10(15);
// パラメータ `a` には値 `5` を与える必要があります。関数 'sum' はすべての引数を受け取り、値を返します。
const result = add25(5);
```

View File

@ -0,0 +1,31 @@
# isArrayBuffer
指定された値が`ArrayBuffer`であるかどうかをチェックします。
この関数はTypeScriptで型述語としても機能し、引数の型を`ArrayBuffer`に絞り込みます。
## インターフェース
```typescript
function isArrayBuffer(value: unknown): value is ArrayBuffer;
```
### パラメータ
- `value` (`unknown`): 値が`ArrayBuffer`であるかどうかをチェックする対象。
### 戻り値
(`value is ArrayBuffer`): `value`が`ArrayBuffer`である場合は`true`を、そうでない場合は`false`を返します。
## 例
```typescript
const value1 = new ArrayBuffer();
const value2 = new Array();
const value3 = new Map();
console.log(isArrayBuffer(value1)); // true
console.log(isArrayBuffer(value2)); // false
console.log(isArrayBuffer(value3)); // false
```

View File

@ -1,7 +1,10 @@
# curry
함수를 커링하여 한 번에 하나의 파라미터로 호출할 수 있도록 하고, 다음 파라미터를 받는 새로운 함수를 반환해요.
모든 파라미터가 제공되면, 이때 원래 함수가 지금까지 주어진 파라미터로 호출돼요.
함수를 커링해서, 한 번에 하나의 파라미터로 호출할 수 있도록 해요.
순서대로 다음 파라미터를 받는 함수를 생성해요. 새로 생성된 함수에 모든 파라미터가 제공되면, 이때 원래 함수가 지금까지 주어진 파라미터로 호출돼요.
[curryRight](./curryRight.md)와 달리, 이 함수는 함수를 왼쪽에서 오른쪽으로 커링해요.
## 인터페이스

View File

@ -0,0 +1,47 @@
# curryRight
함수를 오른쪽에서 왼쪽으로 커링해서, 한 번에 하나의 파라미터로 호출할 수 있도록 해요.
순서대로 다음 파라미터를 받는 함수를 생성해요. 새로 생성된 함수에 모든 파라미터가 제공되면, 이때 원래 함수가 지금까지 주어진 파라미터로 호출돼요.
[curry](./curry.md)와 달리, 이 함수는 함수를 오른쪽에서 왼쪽으로 커링해요.
## 인터페이스
```typescript
function curryRight<R>(func: () => R): () => R;
function curryRight<P, R>(func: (p: P) => R): (p: P) => R;
function curryRight<P1, P2, R>(func: (p1: P1, p2: P2) => R): (p1: P2) => (p2: P1) => R;
function curryRight<P1, P2, P3, R>(func: (p1: P1, p2: P2, p3: P3) => R): (p1: P3) => (p2: P2) => (p3: P1) => R;
function curryRight<P1, P2, P3, P4, R>(func: (p1: P1, p2: P2, p3: P3, p4: P4) => R): (p1: P4) => (p2: P3) => (p3: P2) => (p4: P1) => R;
function curryRight<P1, P2, P3, P4, P5, R>(func: (p1: P1, p2: P2, p3: P3, p4: P4, p5: P5) => R): (p1: P5) => (p2: P4) => (p3: P3) => (p4: P2) => (p5: P1) => R;
function curryRight(func: (...args: any[]) => any): (...args: any[]) => any;
function curryRight(func: (...args: any[]) => any): (...args: any[]) => any;
```
### 파라미터
- `func` (`(...args: any[]) => any`): 커리할 함수에요.
### 반환 값
(`(...args: any[]) => any`): 커리된 함수에요.
## 예시
```typescript
function sum(a: number, b: number, c: number) {
return a + b + c;
}
const curriedSum = curryRight(sum);
// 매개변수 `c`는 값으로 `10`을 가져요.
const add10 = curriedSum(10);
// 매개변수 `b`는 값으로 `15`를 가져요.
const add25 = add10(15);
// 매개변수 `a`는 값으로 `5`를 가져요. 함수 'sum'은 모든 파라미터를 받았으므로, 이제 값을 반환해요.
const result = add25(5);
```

View File

@ -1,6 +1,7 @@
# curryRight
Curries a function, allowing it to be called with a single argument at a time and returning a new function that takes the next argument.
Curries a function from right to left, allowing it to be called with a single argument at a time and returning a new function that takes the next argument.
This process continues until all arguments have been provided, at which point the original function is called with all accumulated arguments.
This method is like [curry](./curry.md), except that it curries the function from right to left.

View File

@ -1,6 +1,6 @@
# curryRight
将一个函数柯里化,允许它每次只用一个参数调用,并返回一个接受下一个参数的新函数。这个过程会继续,直到所有参数都已提供,此时将使用所有累积的参数调用原始函数。
将一个函数从右到左进行柯里化,允许它每次只用一个参数调用,并返回一个接受下一个参数的新函数。这个过程会继续,直到所有参数都已提供,此时将使用所有累积的参数调用原始函数。
这个方法类似于 [curry](./curry.md),不同之处在于它从右到左对函数进行柯里化。

View File

@ -0,0 +1,31 @@
# isArrayBuffer
检查给定值是否是`ArrayBuffer`。
此函数还可以在TypeScript中用作类型谓词将参数的类型缩小为`ArrayBuffer`。
## 签名
```typescript
function isArrayBuffer(value: unknown): value is ArrayBuffer;
```
### 参数
- `value` (`unknown`): 检查是否为`ArrayBuffer`的值。
### 返回值
(`value is ArrayBuffer`): 如果`value`是`ArrayBuffer`,返回`true`,否则返回`false`。
## 示例
```typescript
const value1 = new ArrayBuffer();
const value2 = new Array();
const value3 = new Map();
console.log(isArrayBuffer(value1)); // true
console.log(isArrayBuffer(value2)); // false
console.log(isArrayBuffer(value3)); // false
```