본문으로 건너뛰기

nicknameLengthRange

해당 언어가 만들 수 있는 모든 닉네임 길이를 글자 수로 알려 줍니다. randNicknameminLengthminLengthmin_lengthmaxLengthmaxLengthmax_length를 생략했을 때 사용하는 값이 바로 이것입니다.

javascript
import { nicknameLengthRange } from 'randino';

nicknameLengthRange('ko'); // [1, 13]
nicknameLengthRange('en'); // [3, 33]
nicknameLengthRange('zh'); // [2, 9]
nicknameLengthRange('ko', '-'); // [1, 15]
파라미터타입기본값설명
languageWordLanguageOption'all'언어, 또는 'all'로 전체
wordSeparatorstring구분자가 단어 사이에 더하는 길이를 포함

[min, max]를 반환합니다.

dart
import 'package:randino/randino.dart';

nicknameLengthRange(language: WordLanguage.ko); // LengthRange(1, 13)
nicknameLengthRange(language: WordLanguage.en); // LengthRange(3, 33)
nicknameLengthRange(language: WordLanguage.zh); // LengthRange(2, 9)
nicknameLengthRange(language: WordLanguage.ko, wordSeparator: '-'); // LengthRange(1, 15)
파라미터타입기본값설명
languageWordLanguage?null언어, 또는 null로 전체
wordSeparatorString?null구분자가 단어 사이에 더하는 길이를 포함

값으로 비교되는 LengthRange를 반환합니다.

python
from randino import nickname_length_range

nickname_length_range("ko")  # (1, 13)
nickname_length_range("en")  # (3, 33)
nickname_length_range("zh")  # (2, 9)
nickname_length_range("ko", "-")  # (1, 15)
파라미터타입기본값설명
languageWordLanguageOption"all"언어, 또는 "all"로 전체
word_separatorstr | NoneNone구분자가 단어 사이에 더하는 길이를 포함

tuple[int, int]를 반환합니다.

기본 범위가 넓은 이유

아래쪽 끝은 명사 하나이고, 위쪽 끝은 수식어와 명사와 뒤따르는 단어를 모두 더한 것입니다. 그래서 기본 범위는 모든 형태를 포함하며, 결과물의 일반적인 모습은 범위가 아니라 형태별 가중치가 정합니다. 범위를 좁히는 것이 곧 형태를 빼는 방법입니다.

javascript
nicknameLengthRange('en'); // [3, 33] — 모든 형태
randNickname({ language: 'en', maxLength: 8, count: 3 });
// ['CoolPoem', 'MaidClaw', 'RustyBus'] — 세 단어가 들어갈 자리가 없습니다
dart
nicknameLengthRange(language: WordLanguage.en); // LengthRange(3, 33) — 모든 형태
randNickname(language: WordLanguage.en, maxLength: 8, count: 3);
// ['CoolPoem', 'MaidClaw', 'RustyBus'] — 세 단어가 들어갈 자리가 없습니다
python
nickname_length_range("en")  # (3, 33) — 모든 형태
rand_nickname(language="en", max_length=8, count=3)
# ['CoolPoem', 'MaidClaw', 'RustyBus'] — 세 단어가 들어갈 자리가 없습니다

범위를 넓히거나 좁히는 두 가지

구분자는 닉네임의 일부입니다. 구분자의 길이도 minLengthminLengthmin_length / maxLengthmaxLengthmax_length에 포함되므로, 이 함수에 구분자를 넘겨 보면 남은 범위를 알 수 있습니다.

javascript
nicknameLengthRange('ko'); // [1, 13]
nicknameLengthRange('ko', '-'); // [1, 15] — 가장 긴 형태에는 구분자가 두 개
nicknameLengthRange('en', ' '); // [3, 35]
dart
nicknameLengthRange(language: WordLanguage.ko); // LengthRange(1, 13)
nicknameLengthRange(language: WordLanguage.ko, wordSeparator: '-'); // LengthRange(1, 15)
nicknameLengthRange(language: WordLanguage.en, wordSeparator: ' '); // LengthRange(3, 35)
python
nickname_length_range("ko")  # (1, 13)
nickname_length_range("ko", word_separator="-")  # (1, 15) — 가장 긴 형태에는 구분자가 두 개
nickname_length_range("en", word_separator=" ")  # (3, 33)

무작위 접미사는 이 범위 밖에 있습니다. randSuffix는 닉네임이 완성된 뒤에 토큰을 붙이므로, minLengthminLengthmin_lengthmaxLengthmaxLengthmax_length는 닉네임 전체를 가리키며 빼고 셀 것이 없습니다.

함께 보기

  • randNickname — 길이 옵션이 쓰이는 곳.
  • 상수 — 모든 길이 옵션이 제한되는 절대 범위.

Released under the MIT License