(min: number, max: number): Effect.Effect<number>Generates a random number between min (inclusive) and max (exclusive).
When to use
Use to generate a pseudo-random floating-point number within a numeric range.
Example (Generating a bounded random number)
import { Effect, Random } from "effect"
const program = Effect.gen(function*() {
const randomDouble = yield* Random.nextBetween(0, 1)
console.log("Random double: ", randomDouble)
})Random Number Generators
Source effect/Random.ts:1542 lines
export const const nextBetween: (
min: number,
max: number
) => Effect.Effect<number>
Generates a random number between min (inclusive) and max (exclusive).
When to use
Use to generate a pseudo-random floating-point number within a numeric range.
Example (Generating a bounded random number)
import { Effect, Random } from "effect"
const program = Effect.gen(function*() {
const randomDouble = yield* Random.nextBetween(0, 1)
console.log("Random double: ", randomDouble)
})
nextBetween = (min: numbermin: number, max: numbermax: number): import EffectEffect.type Effect.Effect = /*unresolved*/ anyEffect<number> =>
const randomWith: <A>(
f: (random: (typeof Random)["Service"]) => A
) => Effect.Effect<A>
randomWith((r: Context.Reference<{
nextIntUnsafe(): number
nextDoubleUnsafe(): number
}>
(parameter) r: {
nextIntUnsafe: () => number;
nextDoubleUnsafe: () => number;
}
r) => r: Context.Reference<{
nextIntUnsafe(): number
nextDoubleUnsafe(): number
}>
(parameter) r: {
nextIntUnsafe: () => number;
nextDoubleUnsafe: () => number;
}
r.nextDoubleUnsafe() * (max: numbermax - min: numbermin) + min: numbermin)