Programming-Idioms

Implementation
Pascal

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating resource.

Please try to avoid dependencies to third-party libraries and frameworks.

Implementation edit is for fixing errors and enhancing with metadata.

Instead of changing the code of the snippet, consider creating another Pascal implementation.

Other implementations
import java.util.Random;
int pick(int a, int b){
	return a + new Random().nextInt(b - a + 1);
}
#include <stdlib.h>
int pick(int a, int b)
{
	int upper_bound = b - a + 1;
	int max = RAND_MAX - RAND_MAX % upper_bound;
	int r;

	do {
		r = rand();
	} while (r >= max);
	r = r % max;
	return a + r;
}
rand(a..b)
import "math/rand"
func pick(a,b int) int {
	return a + rand.Intn(b-a+1)
}
function pick(a, b) {
    return a + Math.floor(Math.random() * (b - a + 1));
}
import random
random.randint(a,b)
rand($a, $b)
import util.Random
a + Random.nextInt(b + 1)
my ($min, $max) = (5, 25);
my $val = $min + int(rand($max-$min));
extern crate rand;
use rand::distributions::{IndependentSample, Range};
fn pick(a: i32, b: i32) -> i32 {
    let between = Range::new(a, b);
    let mut rng = rand::thread_rng();
    between.ind_sample(&mut rng)
}
import std.random;
auto x1 = uniform(a, b+1);
auto x2 = uniform!"[]"(a, b);
import 'dart:math';
int pick(int a, int b) => a + new Random().nextInt(b - a + 1);
crypto:rand_uniform(A, B)
import System.Random
let pick (a, b) = randomRIO (a, b) :: IO Integer
 in pick (1, 6) >>= print

(+ a (rand-int (- b a)))
:crypto.rand_uniform(a, b)
math.random(a, b)
using System;
Random r = new Random();
return r.next(a, b + 1);
a - 1 + :rand.uniform(b-a+1)
#include <random>
std::mt19937 gen;
std::uniform_int_distribution<size_t> uid (a, b);
uid (gen);
real :: c
integer :: res

call random_number(c)
res = int((b-a+1)*c)
use rand::distributions::Uniform;
Uniform::new_inclusive(a, b).sample(&mut rand::thread_rng())
a+arc4random_uniform(b+1)