Bitbybit Docs
    Preparing search index...

    Class Logic

    布尔值和判断:比较值,反转布尔值,按阈值将数值列表转换为布尔值列表,生成随机布尔值,以及对值设门使其仅在条件成立时通过。阈值方法是决定图案中哪些项获得某个特征、哪些不获得的常用方式。

    Index

    Constructors

    create

    • 原样传递布尔值,使一个值可以被命名并重用。

      示例:true -> true

      Parameters

      Returns boolean

      同一个布尔值

    • 抽取一列随机布尔值,每个以给定概率为 true。

      示例:length 5,trueThreshold 0.7 -> 可能为 [true, true, false, true, true]

      Parameters

      Returns boolean[]

      随机布尔值

      const flags = bitbybit.logic.randomBooleans({ length: 5, trueThreshold: 0.7 });
      
    • 在两个阈值之间以随机混合将数值转成布尔值。

      低于第一个阈值的数值总是 true,高于第二个的总是 false;在两者之间,为 true 的几率从一端到另一端逐级下降,因此图案是逐渐淡出而不是骤然切换。 示例:[0.1, 0.9],阈值 0.3 和 0.7 -> [true, false]

      Parameters

      Returns boolean[]

      每个数值一个布尔值

      const fade = bitbybit.logic.twoThresholdRandomGradient({
      numbers: [0.1, 0.4, 0.6, 0.9],
      thresholdTotalTrue: 0.3,
      thresholdTotalFalse: 0.7,
      nrLevels: 10,
      });
    • 将数值转成布尔值:低于阈值为 true,等于或高于为 false。

      inverse 翻转每个结果。 示例:[0.3, 0.7, 0.5],阈值 0.6 -> [true, false, true]

      Parameters

      Returns boolean[]

      每个数值一个布尔值

      const below = bitbybit.logic.thresholdBooleanList({ numbers: [0.3, 0.7, 0.5], threshold: 0.6, inverse: false });
      
    • 将数值转成布尔值:数值落在任一给定范围内时为 true,否则为 false。

      每个范围为 [min, max],两端都包含;inverse 翻转每个结果。 示例:[0.2, 0.5, 0.8],范围 [[0.3, 0.6], [0.7, 0.9]] -> [false, true, true]

      Parameters

      Returns boolean[]

      每个数值一个布尔值

      const inside = bitbybit.logic.thresholdGapsBooleanList({
      numbers: [0.2, 0.5, 0.8],
      gapThresholds: [[0.3, 0.6], [0.7, 0.9]],
      inverse: false,
      });

    edit

    • 翻转布尔值:true 变成 false,false 变成 true。

      示例:true -> false

      Parameters

      Returns boolean

      相反的布尔值

    • 翻转列表中的每个布尔值。

      示例:[true, false, true] -> [false, true, false]

      Parameters

      Returns boolean[]

      反转后的布尔值,顺序相同

    operations

    • 用运算符比较两个值:小于、小于等于、大于、大于等于、等于或不等于,采用宽松(==)或严格(===)形式。

      示例:5 大于 3 -> true;'hello' 严格等于 'world' -> false

      Type Parameters

      • T

      Parameters

      Returns boolean

      比较的结果

      const bigger = bitbybit.logic.compare({ first: 5, second: 3, operator: Bit.Inputs.Logic.BooleanOperatorsEnum.greater });
      
    • 布尔值为 true 时让值通过,为 false 时给出 undefined。

      示例:42 配 true -> 42;42 配 false -> undefined

      Type Parameters

      • T

      Parameters

      Returns T

      该值,门关闭时为 undefined

      const maybe = bitbybit.logic.valueGate({ value: 42, boolean: true });
      
    • 选取两个值中第一个已定义的,因此第二个充当后备。

      示例:42 和 10 -> 42;undefined 和 10 -> 10

      Type Parameters

      • T
      • U

      Parameters

      Returns T | U

      第一个已定义的值,两者都缺失时为 undefined

      const chosen = bitbybit.logic.firstDefinedValueGate({ value1: undefined, value2: 10 });