This commit is contained in:
Ingy döt Net 2013-10-27 22:24:23 +00:00
parent 6f050a029e
commit 776bba907c
3887 changed files with 59894 additions and 7280 deletions

View file

@ -0,0 +1,20 @@
void
f(...)
{
integer i;
i = 0;
while (i < count()) {
o_text($i);
o_byte('\n');
i += 1;
}
}
integer
main(void)
{
f("Mary", "had", "a", "little", "lamb");
return 0;
}

View file

@ -0,0 +1,52 @@
void
output_date(date d)
{
o_integer(d_year(d));
o_byte('/');
o_finteger(2, d_y_month(d));
o_byte('/');
o_finteger(2, d_m_day(d));
}
void
output_real(real x)
{
o_real(8, x);
}
void
g(...)
{
integer i;
record r;
r_put(r, "integer", o_integer);
r_put(r, "real", output_real);
r_put(r, "text", o_text);
r_put(r, "date", output_date);
i = 0;
while (i < count()) {
call(r_query(r, __type($i)), $i);
o_byte('\n');
i += 1;
}
}
date
now(void)
{
date d;
d_now(d);
return d;
}
integer
main(void)
{
g("X.1", 707, .5, now());
return 0;
}

View file

@ -0,0 +1,6 @@
(defun my-print-args (&rest arg-list)
(message "there are %d argument(s)" (length arg-list))
(dolist (arg arg-list)
(message "arg is %S" arg)))
(my-print-args 1 2 3)

View file

@ -0,0 +1,2 @@
(let ((arg-list '("some thing %d %d %d" 1 2 3)))
(apply 'message arg-list))

View file

@ -0,0 +1 @@
print_each( Arguments ) -> [io:fwrite( "~p~n", [X]) || X <- Arguments].

View file

@ -0,0 +1,15 @@
using System;
using System.Console;
module Variadic
{
PrintAll (params args : array[object]) : void
{
foreach (arg in args) WriteLine(arg);
}
Main() : void
{
PrintAll("test", "rosetta code", 123, 5.6, DateTime.Now);
}
}

View file

@ -0,0 +1 @@
f(a[..])=prod(i=1,#a,a[i])

View file

@ -1,7 +1,7 @@
/* PL/I permits optional arguments, but not an infinitely varying */
/* argument list: */
s: procedure (a, b, c, d);
declare (a, b, c, d, e) float optional;
declare (a, b, c, d) float optional;
if ^omitted(a) then put skip list (a);
if ^omitted(b) then put skip list (b);
if ^omitted(c) then put skip list (c);

View file

@ -0,0 +1,15 @@
-> (define (vfun . xs) (for-each displayln xs))
-> (vfun)
-> (vfun 1)
1
-> (vfun 1 2 3 4)
1
2
3
4
-> (apply vfun (range 10 15))
10
11
12
13
14