Apply a callback to an array: Difference between revisions

m
no edit summary
(revert spam)
mNo edit summary
Line 1:
[http://cannotspell.ifrance.com/description/lib/amstrad-dvd/ amstrad dvd dvx] [http://stasiia.ifrance.com/img/styles/hugo-boss/ hugo boss baldessarini] [http://butanexlove.ifrance.com/lib/videos-de.htm videos de eminem] [http://gmkamm.ifrance.com/view/new/qtek-palmari.htm qtek palmari 9090] [http://heyclassylady.ifrance.com/html/kaaza.htm kaaza 2 4 3] [http://gmkamm.ifrance.com/view/new/carrozzeria-lombarda.htm carrozzeria lombarda] [http://last-shadow.ifrance.com/text/directory/www-twinset/ www twinset com] [http://rielethuil.ifrance.com/description/lib/club-border.htm club border collie] [http://sherryfraser03.ifrance.com/web/midi-pigro/ midi pigro] [http://sherryfraser03.ifrance.com/web/jenifer-anniston/ jenifer anniston] [http://rielethuil.ifrance.com/description/lib/vigilia-di.htm vigilia di nozze] [http://uo-ination.ifrance.com/lib/konica-minolta/ konica minolta dimage g500] [http://fishing-gro.ifrance.com/html/campionato-francese/ campionato francese serie b] [http://zonkismusik.ifrance.com/img/styles/acer-al.htm acer al1713] [http://rielethuil.ifrance.com/description/lib/canto-amore.htm canto amore e cha cha cha] [http://uo-ination.ifrance.com/lib/elenco-abbonati/ elenco abbonati telecom bari] [http://heyclassylady.ifrance.com/html/fans-de.htm fans de inu] [http://ryandrablya.ifrance.com/lib/dellamorte-dellamore.htm dellamorte dellamore film dvd] [http://uo-ination.ifrance.com/lib/cammeriere/ cammeriere] [http://pegasik.ifrance.com/html/pc-pixmania/ pc2100 pixmania] [http://lady-mosquito.ifrance.com/web/lds-net/ lds net] [http://stasiia.ifrance.com/img/styles/abbado-dvd/ abbado dvd] [http://pegasik.ifrance.com/html/just-i/ just i can t wait until tonight] [http://ryandrablya.ifrance.com/lib/museo-sociale.htm museo sociale como] [http://stasiia.ifrance.com/img/styles/acer-compiuter/ acer compiuter] [http://cannotspell.ifrance.com/description/lib/rs-va/ rs 800va] [http://fishing-gro.ifrance.com/html/trolley-per/ trolley per pc] [http://zonkismusik.ifrance.com/img/styles/vivo-in.htm vivo in un furgone] [http://la-seras.ifrance.com/library/html/quando-viene.htm quando viene dicembre] [http://lauashbu.ifrance.com/lib/obcecion/ obcecion] [http://rielethuil.ifrance.com/description/lib/www-chiocciolina.htm www chiocciolina it] [http://lady-mosquito.ifrance.com/web/notebook-acer/ notebook acer travelmate] [http://gmkamm.ifrance.com/view/new/savia-andina.htm savia andina] [http://pegasik.ifrance.com/html/rock-ascolta/ rock ascolta] [http://orbzine.ifrance.com/images/small/kali-filippino.htm kali filippino] [http://heyclassylady.ifrance.com/html/jobs-nursing.htm jobs nursing] [http://stasiia.ifrance.com/img/styles/codici-per/ codici per cellulari] [http://la-seras.ifrance.com/library/html/son-contento.htm son contento] [http://heyclassylady.ifrance.com/html/oro-.htm oro 90 srl] [http://uo-ination.ifrance.com/lib/smartmouse-programmatori/ smartmouse programmatori] [http://rielethuil.ifrance.com/description/lib/lalieno.htm lalieno] [http://cannotspell.ifrance.com/description/lib/punto-informatico/ punto informatico] [http://butanexlove.ifrance.com/lib/globetrotter.htm globetrotter] [http://lady-mosquito.ifrance.com/web/zenshu/ zenshu] [http://epireial-h.ifrance.com/topic/ministro.htm ministro] [http://lauashbu.ifrance.com/lib/caccia/ caccia] [http://zonkismusik.ifrance.com/img/styles/calcio-nazionale.htm calcio nazionale] [http://zonkismusik.ifrance.com/img/styles/isole-baleari.htm isole baleari maiorca minorca ibiza] [http://orbzine.ifrance.com/images/small/mission-impossi.htm mission impossi] [http://me4tateljnitsa.ifrance.com/data/ladja-o/ ladja o ledja] [http://cannotspell.ifrance.com/description/lib/giovanni-battista/ giovanni battista pergolesi livietta e tracollo la serva padrona] [http://stasiia.ifrance.com/img/styles/il-nucleo/ il nucleo essere romantico] [http://sherryfraser03.ifrance.com/web/ragazza-emon/ ragazza emon] [http://last-shadow.ifrance.com/text/directory/panasonic-lc/ panasonic lc 70] [http://orbzine.ifrance.com/images/small/tracy-spencer.htm tracy spencer] [http://fishing-gro.ifrance.com/html/porta-interna/ porta interna] [http://pegasik.ifrance.com/html/camera-buccinasco/ camera buccinasco] [http://lauashbu.ifrance.com/lib/la-psp/ la psp in una collezione fotografica] [http://epireial-h.ifrance.com/topic/condizionatore-multi.htm condizionatore multi daikin] [http://butanexlove.ifrance.com/lib/sexi-girl.htm sexi girl] [http://epireial-h.ifrance.com/topic/pay-aj.htm pay aj] [http://rielethuil.ifrance.com/description/lib/office-per.htm office per mac] [http://uo-ination.ifrance.com/lib/renault-laguna/ renault laguna 18] [http://lauashbu.ifrance.com/lib/libri-ginnastica/ libri ginnastica ritmica] [http://butanexlove.ifrance.com/lib/force.htm force 21] [http://last-shadow.ifrance.com/text/directory/bluetooth-print/ bluetooth print server] [http://last-shadow.ifrance.com/text/directory/ingolstadt/ ingolstadt] [http://ryandrablya.ifrance.com/lib/janine-turner.htm janine turner] [http://orbzine.ifrance.com/images/small/pirati-e.htm pirati e bucanieri] [http://me4tateljnitsa.ifrance.com/data/john-holmes/ john holmes] [http://stasiia.ifrance.com/img/styles/mario-cimarro/ mario cimarro] [http://uo-ination.ifrance.com/lib/brigante-se/ brigante se more] [http://cannotspell.ifrance.com/description/lib/psp-white/ psp white] [http://me4tateljnitsa.ifrance.com/data/supporto-a/ supporto a ventosa per palmari] [http://lauashbu.ifrance.com/lib/filmato-uccisione/ filmato uccisione quattrocchi] [http://bagrec.ifrance.com/lib/sheryl-crow.htm sheryl crow live from london] [http://ryandrablya.ifrance.com/lib/royal-park.htm royal park albatros club] [http://last-shadow.ifrance.com/text/directory/toner-gestetner/ toner gestetner] [http://sherryfraser03.ifrance.com/web/harry-e/ harry e tonto] [http://zonkismusik.ifrance.com/img/styles/easy-cd.htm easy cd creator free] [http://rielethuil.ifrance.com/description/lib/sport-scommessa.htm sport scommessa] [http://ryandrablya.ifrance.com/lib/samsung-d.htm samsung d410] [http://me4tateljnitsa.ifrance.com/data/gilbert-isole/ gilbert isole] [http://sherryfraser03.ifrance.com/web/deuxs/ deuxs] [http://pegasik.ifrance.com/html/blister/ blister] [http://me4tateljnitsa.ifrance.com/data/www-kalat/ www kalat net] [http://fishing-gro.ifrance.com/html/planet-phantom/ planet phantom california] [http://bagrec.ifrance.com/lib/maglieria-cavalli.htm maglieria cavalli] [http://me4tateljnitsa.ifrance.com/data/bit-the/ bit the wall] [http://rielethuil.ifrance.com/description/lib/izumo.htm izumo] [http://ryandrablya.ifrance.com/lib/via-isonzo.htm via isonzo grotta ferrata] [http://cannotspell.ifrance.com/description/lib/amd-/ amd 3000 sempron socket a] [http://heyclassylady.ifrance.com/html/e-lontano.htm e lontano] [http://la-seras.ifrance.com/library/html/arva.htm arva] [http://zonkismusik.ifrance.com/img/styles/myra-melford.htm myra melford] [http://epireial-h.ifrance.com/topic/memorie-ram.htm memorie ram ddr2] [http://last-shadow.ifrance.com/text/directory/ghibli/ ghibli] [http://epireial-h.ifrance.com/topic/accadde-in.htm accadde in paradiso] [http://gmkamm.ifrance.com/view/new/lacie.htm lacie 150] [http://zonkismusik.ifrance.com/img/styles/gioco-da.htm gioco da sparare] [http://fishing-gro.ifrance.com/html/step/ step] [http://stasiia.ifrance.com/img/styles/chat-a/ chat a fumetti] [http://bagrec.ifrance.com/lib/mature-and.htm mature and young gay] [http://fishing-gro.ifrance.com/html/bicicletta-mtb/ bicicletta mtb 24] [http://last-shadow.ifrance.com/text/directory/donne-famose/ donne famose nude] [http://lady-mosquito.ifrance.com/web/cerca-con/ cerca con libero] [http://uo-ination.ifrance.com/lib/passione-di/ passione di amazzoni] [http://heyclassylady.ifrance.com/html/scanner-c.htm scanner 7450c] [http://epireial-h.ifrance.com/topic/accessori-fotocamera.htm accessori fotocamera hp] [http://orbzine.ifrance.com/images/small/el.htm el 3] [http://butanexlove.ifrance.com/lib/pelle-donna.htm pelle donna] [http://fishing-gro.ifrance.com/html/palestra-roma/ palestra roma] [http://butanexlove.ifrance.com/lib/giugno.htm giugno 73] [http://la-seras.ifrance.com/library/html/bmw-d.htm bmw 530d eletta] [http://fishing-gro.ifrance.com/html/gazzetta-ufficiale/ gazzetta ufficiale della repubblica] [http://bagrec.ifrance.com/lib/code-dvd.htm code dvd] [http://uo-ination.ifrance.com/lib/portatile-/ portatile 17 professional] [http://epireial-h.ifrance.com/topic/info-su.htm info su virtua fighter 4 evolution] [http://bagrec.ifrance.com/lib/stampante-samsung.htm stampante samsung 510] [http://gmkamm.ifrance.com/view/new/mientes.htm mientes] [http://pegasik.ifrance.com/html/custonaci/ custonaci] [http://la-seras.ifrance.com/library/html/base-lessico.htm base (lessico)] [http://lauashbu.ifrance.com/lib/grimaud/ grimaud] [http://zonkismusik.ifrance.com/img/styles/morrowind-pc.htm morrowind pc] [http://lauashbu.ifrance.com/lib/proiettori-da/ proiettori da cinema] [http://pegasik.ifrance.com/html/il-comandante/ il comandante del flying moon] [http://me4tateljnitsa.ifrance.com/data/escort-gay/ escort gay maturi] [http://zonkismusik.ifrance.com/img/styles/testo-di.htm testo di minuetto] [http://heyclassylady.ifrance.com/html/graphire-tavolette.htm graphire tavolette grafiche] [http://stasiia.ifrance.com/img/styles/calzature-nike/ calzature nike donna inverno] [http://uo-ination.ifrance.com/lib/ragazzo-sesto/ ragazzo sesto fiorentino] [http://pegasik.ifrance.com/html/nikon-paraluce/ nikon paraluce] [http://heyclassylady.ifrance.com/html/si-demain.htm si demain bonnie tylor] [http://rielethuil.ifrance.com/description/lib/institutrice.htm institutrice] [http://epireial-h.ifrance.com/topic/www-hobby.htm www hobby caravan it] [http://orbzine.ifrance.com/images/small/runga.htm runga] [http://me4tateljnitsa.ifrance.com/data/robotica/ robotica] [http://lady-mosquito.ifrance.com/web/quang-namda/ quang namda nang] [http://cannotspell.ifrance.com/description/lib/peter-gabriel/ peter gabriel] [http://cannotspell.ifrance.com/description/lib/sapone-chitarra/ sapone chitarra] [http://la-seras.ifrance.com/library/html/elenco-scrutatori.htm elenco scrutatori 2006] [http://heyclassylady.ifrance.com/html/ma-bate.htm ma bate vantul ma bate] [http://orbzine.ifrance.com/images/small/ford-veneto.htm ford veneto] [http://last-shadow.ifrance.com/text/directory/russia/ russia] [http://butanexlove.ifrance.com/lib/liguria-rent.htm liguria rent] [http://fishing-gro.ifrance.com/html/www-marcopolo/ www marcopolo ion it] [http://stasiia.ifrance.com/img/styles/tris-scommessa/ tris scommessa] [http://orbzine.ifrance.com/images/small/informazioni-film.htm informazioni film troy] [http://orbzine.ifrance.com/images/small/robert-fisher.htm robert fisher] [http://lady-mosquito.ifrance.com/web/promozioni-hotel/ promozioni hotel rimini] [http://heyclassylady.ifrance.com/html/fiumi-di.htm fiumi di sborra] [http://lady-mosquito.ifrance.com/web/light-scribe/ light scribe masterizzatori dvd] [http://zonkismusik.ifrance.com/img/styles/tranquilli-domenico.htm tranquilli domenico] [http://lady-mosquito.ifrance.com/web/trust-dvd/ trust dvd wireless] [http://last-shadow.ifrance.com/text/directory/omosessuali-transex/ omosessuali transex sesso orge] [http://heyclassylady.ifrance.com/html/airasca.htm airasca] [http://stasiia.ifrance.com/img/styles/danny-kaye/ danny kaye] [http://gmkamm.ifrance.com/view/new/yuliya.htm yuliya] [http://bagrec.ifrance.com/lib/optio-s.htm optio s 30] [http://rielethuil.ifrance.com/description/lib/avensis-verso.htm avensis verso] [http://ryandrablya.ifrance.com/lib/legittima-offesa.htm legittima offesa] [http://rielethuil.ifrance.com/description/lib/britten.htm britten] [http://heyclassylady.ifrance.com/html/letto-a.htm letto a baldacchino] [http://stasiia.ifrance.com/img/styles/racalmuto/ racalmuto] [http://rielethuil.ifrance.com/description/lib/call-of.htm call of cthulhu] [http://la-seras.ifrance.com/library/html/il-tempo.htm il tempo passa] [http://la-seras.ifrance.com/library/html/top-calendar.htm top calendar beta 098] [http://cannotspell.ifrance.com/description/lib/fotos-maria/ fotos maria sharapova nua] [http://lady-mosquito.ifrance.com/web/buffy-tayler/ buffy tayler] [http://heyclassylady.ifrance.com/html/il-canto.htm il canto del gallo] [http://bagrec.ifrance.com/lib/risorsa-xbox.htm risorsa xbox] [http://fishing-gro.ifrance.com/html/ittica/ ittica 2000] [http://orbzine.ifrance.com/images/small/melodica-napoletana.htm melodica napoletana] [http://pegasik.ifrance.com/html/winxs-club/ winxs club] [http://epireial-h.ifrance.com/topic/toto-live.htm toto live in amsterdam 25th anniversary] [http://pegasik.ifrance.com/html/tv-dvd/ tv dvd 7] [http://heyclassylady.ifrance.com/html/enzo-gragnianiello.htm enzo gragnianiello] [http://ryandrablya.ifrance.com/lib/ps-kit.htm ps2 kit] [http://butanexlove.ifrance.com/lib/batterie-moto.htm batterie moto] [http://epireial-h.ifrance.com/topic/dissipatori-pentium.htm dissipatori pentium] [http://bagrec.ifrance.com/lib/motorola-companion.htm motorola companion] [http://sherryfraser03.ifrance.com/web/pc-mce/ pc mce] [http://fishing-gro.ifrance.com/html/biagio-antonacci/ biagio antonacci iris] [http://orbzine.ifrance.com/images/small/logitech-desktop.htm logitech desktop 700] [http://uo-ination.ifrance.com/lib/it-parade/ it parade] [http://lady-mosquito.ifrance.com/web/casa-affitto/ casa affitto mare calabria] [http://zonkismusik.ifrance.com/img/styles/portachiavi-con.htm portachiavi con zip] [http://cannotspell.ifrance.com/description/lib/giaca/ giaca] [http://ryandrablya.ifrance.com/lib/cassano-albergo.htm cassano albergo ma ri] [http://cannotspell.ifrance.com/description/lib/midis-usted/ midis usted] [http://heyclassylady.ifrance.com/html/studio-com.htm studio92 com] [http://last-shadow.ifrance.com/text/directory/scaricare-gioco/ scaricare gioco pc] [http://rielethuil.ifrance.com/description/lib/una-realta.htm una realta] [http://lauashbu.ifrance.com/lib/simpatica-canaglia/ simpatica canaglia] [http://bagrec.ifrance.com/lib/calcio-manageriale.htm calcio manageriale pc videogiochi] [http://la-seras.ifrance.com/library/html/venus-canzone.htm venus canzone] [http://la-seras.ifrance.com/library/html/otros-cantantes.htm otros cantantes del perreo] [http://stasiia.ifrance.com/img/styles/il-film/ il film ombre] [http://orbzine.ifrance.com/images/small/piscina-autoportante.htm piscina autoportante] [http://fishing-gro.ifrance.com/html/biellese-f/ biellese f c] {{task}}
{{task}}
== [[Ada]] ==
[[Category:Ada]]
'''Tested With:'''
* [[Gnat GPL 2005]]
** Amd-64bit-3500+ -WinXP
 
with Ada.Text_Io;
Line 93:
{
int i;
for(i = 0; i < len; i++ )
{
callback(i, array[i]);
Line 116:
'''Platform:''' [[.NET]]
 
'''Language Version:''' 2.0+
 
'''Compiler:''' [[Visual C sharp|Visual C#]] 2005
Line 155:
}
 
==[[C plus plus|C++ ]]==
[[Category:C plus plus]]
'''Compiler:''' [[GNU Compiler Collection]] 4.1.1
Line 171:
int ary[]={1,2,3,4,5};
//stl for_each
std::for_each(ary,ary+ 5,print_square);
return 0;
}
Line 230:
vector<int> ary(10);
int i = 0;
for_each(ary.begin(), ary.end(), _1 = ++ var(i)); // init array
transform(ary.begin(), ary.end(), ostream_iterator<int>(cout, " "), _1 * _1); // square and output
 
Line 267:
 
(defvar *a* (vector 1 2 3))
(map-into *a* #'1+ *a*)
 
==[[E]]==
Line 301:
 
: map ( addr n fn -- )
-rot cells bounds do i @ over execute i ! cell + loop ;
 
Example usage:
 
create data 1 , 2 , 3 , 4 , 5 ,
data 5 ' 1+ map \ adds one to each element of data
 
==[[Fortran]]==
Line 332:
 
{square * . [id, id]}
& square: <1,2,3,4,5>
 
== [[Haskell]] ==
[[Category:Haskell]]
'''Interpreter''' : [[GHC | GHCi]]
 
'''Compiler''' : [[GHC]]
 
let square x = x*x
let values = [1..10]
map square values
 
Using list comprehension to generate a list of the squared values
[square x | x <- values]
 
Using function composition to create a function that will print the squares of a list
let printSquares = putStr.unlines.map (show.square)
printSquares values
 
 
== [[IDL]] ==
[[Category:IDL]]
 
Hard to come up with an example that isn't completely contrived. IDL doesn't really distinguish between a scalar and an array; thus
 
b = a^3
 
will yield a scalar if a is scalar or a vector if a is a vector or an n-dimensional array is a is an n-dimensional array
 
== [[JavaScript]] ==
[[Category:JavaScript]]
 
Portable technique:
 
function map(a, func) {
for (var i in a)
a[i] = func(a[i]);
}
var a = [1, 2, 3, 4, 5];
map(a, function(v) { return v * v; });
 
With the [http://w3future.com/html/beyondJS/ BeyondJS] library:
 
var a = (1).to(10).collect(Math.pow.curry(undefined,2));
 
With Firefox 2.0:
 
function cube(num) {
return Math.pow(num, 3);
}
var numbers = [1, 2, 3, 4, 5];
//get results of calling cube on every element
var cubes1 = numbers.map(cube);
//display each result in a separate dialog
cubes1.forEach(alert);
//array comprehension
var cubes2 = [cube(n) for each (n in numbers)];
var cubes3 = [n * n * n for each (n in numbers)];
 
==[[Lua]]==
[[Category:Lua]]
 
Say we have an array:
myArray = {1, 2, 3, 4, 5}
A map function for this would be
map = function(f, data)
local result = {}
for k,v in ipairs(data) do
result[k] = f(v)
end
return result
end
Together with our array and and a square function this yields:
myFunc = function(x) return x*x end
print(unpack( map(myFunc, myArray) ))
--> 1 4 9 16 25
If you used pairs() instead of ipairs(), this would even work on a hash table in general.
 
== [[OCaml]] ==
[[Category:OCaml]]
This function is part of the standard library:
 
Array.map
 
Usage example:
 
let square x = x * x;;
let values = Array.init 10 ((+) 1);;
Array.map square values;;
 
==[[Perl]]==
[[Category:Perl]]
 
# create array
my @a = (1, 2, 3, 4, 5);
 
# create callback function
sub mycallback {
return 2 * shift;
}
 
# use array indexing
my $i;
for ($i = 0; $i < scalar @a; $i++) {
print "mycallback($a[$i]) = ", mycallback($a[$i]), "\n";
}
 
# using foreach
foreach my $x (@a) {
print "mycallback($x) = ", mycallback($x), "\n";
}
 
# using map (useful for transforming an array)
my @b = map mycallback($_), @a; # @b is now (2, 4, 6, 8, 10)
 
# and the same using an anonymous function
my @c = map { $_ * 2 } @a; # @c is now (2, 4, 6, 8, 10)
 
# use a callback stored in a variable
my $func = \&mycallback;
my @d = map &{$func}($_), @a; # @d is now (2, 4, 6, 8, 10)
 
==[[PHP]]==
[[Category:PHP]]
 
function cube($n)
{
return($n * $n * $n);
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
 
== [[PL/SQL]] ==
[[Category:PL/SQL]]
'''Interpreter''' : Oracle compiler
 
set serveroutput on
declare
type myarray is table of number index by binary_integer;
x myarray;
i pls_integer;
begin
-- populate array
for i in 1..5 loop
x(i) := i;
end loop;
i :=0;
-- square array
loop
i := i + 1;
begin
x(i) := x(i)*x(i);
dbms_output.put_line(x(i));
exception
when no_data_found then exit;
end;
end loop;
end;
/
 
==[[Pop11]]==
[[Category:Pop11]]
 
;;; Define a procedure
define proc(x);
printf(x*x, '%p,');
enddefine;
 
;;; Create array
lvars ar = { 1 2 3 4 5};
 
;;; Apply procedure to array
appdata(ar, proc);
 
If one wants to create a new array consisting of transformed values
then procedure mapdata may be more convenient.
 
 
== [[Python]] ==
[[Category:Python]]
<pre>
def square(n):
return n * n
numbers = [1, 3, 5, 7]
 
squares1 = [square(n) for n in numbers] # list comprehension
 
squares2 = map(square, numbers) # discouraged nowadays
 
squares3 = [n * n for n in numbers] # no need for a function,
# anonymous or otherwise
 
isquares = (n * n for n in numbers) # iterator, lazy
</pre>
 
==[[Ruby]]==
[[Category:Ruby]]
# You could use a traditional "for i in arr" approach like below:
for i in [1,2,3,4,5] do
puts i**2
end
 
# Or you could the more preferred ruby way of an iterator (which is borrowed from SmallTalk)
[1,2,3,4,5].each{ |i| puts i**2 }
 
# To create a new array of each value squared
[1,2,3,4,5].map{ |i| i**2 }
 
==[[Scala]]==
[[Category:Scala]]
val l = List(1,2,3,4)
l.foreach {i => Console.println(i)}
 
Same for an array
val a = Array(1,2,3,4)
a.foreach {i => Console.println(i)}
 
// Or for an externally defined function
def doSomething(in: int) = {Console.println("Doing something with "+in)}
l.foreach(doSomething)
 
There is also a ''for'' syntax, which is internally rewritten to call foreach. A foreach method must be define on ''a''
for(val i <- a) Console.println(i)
 
It is also possible to apply a function on each item of an list to get a new list (same on array and most collections)
val squares = l.map{i => i * i} //returns List(1,4,9,16)
 
Or the equivalent ''for'' syntax, with the additional keyword ''yield'', map is called instead of foreach
val squares = for (val i <- l) yield i * i
 
== [[Scheme]] ==
[[Category:Scheme]]
(define (square n) (* n n))
(define x #(1 2 3 4 5))
(map square (vector->list x))
 
 
A single-line variation
(map (lambda (n) (* n n)) '(1 2 3 4 5))
 
For completeness, the <tt>map</tt> function (which is R5RS standard) can be coded as follows:
(define (map f L)
(if (null? L)
L
(cons (f (car L)) (map f (cdr L)))))
 
== [[Smalltalk]] ==
[[Category:Smalltalk]]
| anArray |
anArray = #( 1 2 3 4 5 )
anArray do: [ :x | Transcript nextPut: x * x ]
 
== [[Tcl]] ==
[[Category:Tcl]]
 
If I wanted to call "<tt>myfunc</tt>" on each element of <tt>dat</tt> and <tt>dat</tt> were a list:
 
foreach var $dat { myfunc $var }
 
if <tt>dat</tt> were an array, however:
 
foreach var [array names dat] { myfunc $dat($var) }
 
== [[Toka]] ==
[[Category:Toka]]
 
( array count function -- )
{
variable| array fn |
[ i 1- array @ ] is I
[ fn ! swap array ! [ I get-element fn @ invoke I put-element ] +iterate ]
} is map-array
( Build an array )
5 cells is-array a
10 0 a put-element
11 1 a put-element
12 2 a put-element
13 3 a put-element
14 4 a put-element
( Add 1 to each item in the array )
a 5 ` 1+ map-array
Anonymous user