숫자 필드

숫자 필드는 숫자를 value로, 문자열을 text로 저장합니다. value 은 항상 생성 시 필드가 생성됩니다. 텍스트는 편집기에 입력된 어떤 문자열이든 가능합니다.

숫자 입력란

편집기가 열려 있는 숫자 필드

접힌 블록의 숫자 입력란

생성

JSON

{
  "type": "example_number",
  "message0": "number: %1",
  "args0": [
    {
      "type": "field_number",
      "name": "FIELDNAME",
      "value": 100,
      "min": 0,
      "max": 100,
      "precision": 10
    }
  ]
}

자바스크립트

Blockly.Blocks['example_number'] = {
  init: function() {
    this.appendDummyInput()
        .appendField("number:")
        .appendField(new Blockly.FieldNumber(100, 0, 100, 10), 'FIELDNAME');
  }
};

숫자 생성자는 다음을 받습니다.

value는 숫자로 변환되어야 합니다. 그렇지 않은 경우 0이 사용됩니다.

직렬화

JSON

숫자 필드의 JSON은 다음과 같습니다.

{
  "fields": {
    "FIELDNAME": 0
  }
}

여기서 FIELDNAME는 숫자 필드를 참조하는 문자열입니다. 값은 필드에 적용할 값입니다. 값은 생성자 값과 동일한 규칙을 따릅니다.

XML

숫자 필드의 XML은 다음과 같습니다.

<field name="FIELDNAME">0</field>

field 노드의 name 속성에 숫자를 참조하는 문자열이 포함되어 있습니다. 필드이고 노드의 내부 text는 필드에 적용할 value입니다. 이 내부 텍스트 값은 생성자 값과 동일한 규칙을 따릅니다.

제약조건

제약 조건은 필드 정의에서 설정하거나 setConstraints 함수를 사용하세요.

최솟값

min 값은 필드에 허용되는 가장 작은 값/가장 음수 값을 설정합니다. 합니다.

최댓값

max 값은 필드에 허용되는 가장 큰 값/가장 양수 값을 설정합니다. 합니다.

반올림

precision는 값을 가장 가까운 정밀도의 배수로 반올림합니다. 이는 필드에 .01, 10, 42 등의 배수만 허용하는 데 사용됩니다.

일반적인 제약 조건

양수

필드에 양수만 허용되도록 하려면 min 값을 다음으로 설정합니다. 1.

정수

필드에서 정수만 허용하도록 하려면 precision를 1로 설정합니다.

숫자 검사기 만들기

숫자 필드의 값은 숫자이므로 모든 검사기는 numbernumber, null 또는 undefined를 반환합니다.

다음은 값을 0 또는 1로 변경하는 검사기의 예입니다. 홀수인지 짝수인지에 따라 다릅니다.

function(newValue) {
  return newValue % 2;
}