View Category
Find the distance between two points
perl
use Math::Complex;
$a = Math::Complex->make(0, 3);
$b = Math::Complex->make(4, 0);
$distance = abs($a - $b);
$a = Math::Complex->make(0, 3);
$b = Math::Complex->make(4, 0);
$distance = abs($a - $b);
erlang
Distance = distance({point, 34, 78}, {point, 67, -45}),
io:format("~.2f~n", [Distance]).
io:format("~.2f~n", [Distance]).
Distance = distance(point:new(34, 78), point:new(67, -45)),
io:format("~.2f~n", [Distance]).
io:format("~.2f~n", [Distance]).
Zero pad a number
Given the number 42, pad it to 8 characters like 00000042
perl
sprintf("%08d", 42);
erlang
Formatted = io_lib:format("~8..0B", [42]),
io:format("~8..0B~n", [42]).
Right Space pad a number
Given the number 1024 right pad it to 6 characters
"1024 "
perl
sprintf("%-6d", 1024);
erlang
Formatted = io_lib:format("~-6B", [1024]),
io:format("~-6B~n", [1024]).
Format a decimal number
Format the number 7/8 as a decimal with 2 places: 0.88
perl
sprintf("%.2f", 7/8);
erlang
Formatted = io_lib:format("~.2f", [7/8]),
io:format("~.2f~n", [7/8]).
Left Space pad a number
Given the number 73 left pad it to 10 characters
" 73"
perl
sprintf("%10d", 73);
erlang
Formatted = io_lib:format("~10B", [73]),
io:format("~10B~n", [73]).
Generate a random integer in a given range
Produce a random integer between 100 and 200 inclusive
perl
my $range = 100;
my $minimum = 100;
my $random_number = int(rand($range)) + $minimum;
print "$random_number\n";
my $minimum = 100;
my $random_number = int(rand($range)) + $minimum;
print "$random_number\n";
erlang
RandomInt = gen_rand_integer(100, 200),
Generate a repeatable random number sequence
Initialise a random number generator with a seed and generate five decimal values. Reset the seed and produce the same values.
perl
srand(12345);
@list1 = map(int(rand(100)+1), (1..5));
srand(12345);
@list2 = map(int(rand(100)+1), (1..5));
print join(', ', @list1) . "\n";
print join(', ', @list2) . "\n";
@list1 = map(int(rand(100)+1), (1..5));
srand(12345);
@list2 = map(int(rand(100)+1), (1..5));
print join(', ', @list1) . "\n";
print join(', ', @list2) . "\n";
erlang
setRNG(RNGState),
io:format("~w~n", [lists:map(fun (_) -> gen_rand_integer(100, 200) end, lists:seq(1, 5))]),
setRNG(RNGState),
io:format("~w~n", [lists:map(fun (_) -> gen_rand_integer(100, 200) end, lists:seq(1, 5))]).
io:format("~w~n", [lists:map(fun (_) -> gen_rand_integer(100, 200) end, lists:seq(1, 5))]),
setRNG(RNGState),
io:format("~w~n", [lists:map(fun (_) -> gen_rand_integer(100, 200) end, lists:seq(1, 5))]).
