amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Amiga, AmigaOS 4 > random funktion in scala [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2004-11-18, 12:32 h

wawa
Posts: 314
User
auf mal wieder: weiss jemand wie syntax für random funktion in mm400 aussieht? in handbuch ist nur ein beispiel anhand von tutorial, attribute werden aber nicht beschrieben.

[ - Answer - Quote - Direct link - ]

2004-11-18, 21:25 h

Lippi
Posts: 1247
User
Ich habe es gerade mal probiert, und nicht hingekriegt.
Kommt immer die gleiche Zahl raus, bzw abhängig von
dem Klammerwert.
Dann habe ich das in Arexx probiert, ist auch so !
Würde mich auch interessieren, wie man eine
(immer unterschiedliche) Zufallszahl rausbekommt.

--
mfg -lippi-

Mario Lippert
Infokanal-tv.de

infokanal@t-online.de

[ - Answer - Quote - Direct link - ]

2004-11-18, 21:36 h

wawa
Posts: 314
User
eben! ist warscheinlich falsch gepostet. versuche mal bei den programierern.

[ - Answer - Quote - Direct link - ]

2004-11-19, 01:45 h

Palgucker
Posts: 1342
User
@ Lippi

quote:

Dann habe ich das in Arexx probiert, ist auch so !
Würde mich auch interessieren, wie man eine
(immer unterschiedliche) Zufallszahl rausbekommt.


Eine Möglichkeit unter Arexx wäre:

say randu(time(S))

mfg Palgucker

[ - Answer - Quote - Direct link - ]

2004-11-19, 01:54 h

cgutjahr
Posts: 2783
[Administrator]
Ich habe hier das Handbuch von der Nightshifts-CD-Version. Um einen zufälligen Wert zwischen 1 und 9 zu ermitteln, wird folgende Syntax vorgeschlagen:

RANDOM (1,9,TIME('S'))

Hilft euch das irgendwie weiter?
--
Gutjahrs :amiga: Seiten

[ - Answer - Quote - Direct link - ]

2004-11-19, 10:51 h

wawa
Posts: 314
User
das ist das handbuch-beispiel das ich meinte. offensichtlich entspricht es der arexx funktion. ex nimmt tatsächlich einen pseudizufälligen wert bei jeder script execution, der sich aber während dessen ablaufs nicht mehr zu ändern scheint. vielleicht muss man die variable "S" irgendwie beim start definieren oder resetten oder gott weis was.

[ - Answer - Quote - Direct link - ]

2004-11-19, 11:05 h

thomas
Posts: 7718
User

Wenn es doch die gleiche Funktion wie bei ARexx ist, warum lest ihr nicht einfach die Beschreibung im ARexx-Handbuch ?

RANDOM(x,y) liefert eine Zufallszahl zwischen x und y. Natürlich kommt dabei immer eine neue raus. Allerdings wird der Generator am Anfang des Programms immer mit dem selben Wert initialisiert, d.h. die erste Zahl des Programms ist immer die selbe und die Folge dürfte auch immer die selbe sein.

RANDOM(x,y,z) initialisiert den Generator mit z und gibt dann eine Zufallszahl zwischen x und y. Hier kommt natürlich für das gleiche z immer die gleiche Zahl raus.

'S' ist keine Variable, sondern ein String mit dem S als inhalt.

TIME('S') gibt die Anzahl Sekunden seit Mitternacht zurück.

Sinnvollerweise wird man zuerst einmal RANDOM(x,y,z) aufrufen und danach immer nur noch RANDOM(x,y). z muß dabei eine "echte" Zufallszahl sein. Die aktuelle Uhrzeit ist in den meisten Fällen ausreichend, sofern sie genau genug ist. Mit Sekunden als Einheit finde ich das hingegen überhaupt nicht zufällig. Es sollten schon Zehntel oder Hundertstel dabei sein.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Answer - Quote - Direct link - ]

2004-11-19, 12:35 h

wawa
Posts: 314
User
ich habs glaube ich! da die ganzen uhr batterien in meinen amigas sicher leer sind, läuft system uhr nicht alo ändet sich TIME'S' wert auch nie. musste ich überprüfen. deshalb ist das ergebnis während des scriptablaufes immer das gleiche, jedesmal wenn die wieder funktion abgerufen wird! nur was ist mit uae auf meinem sony notebook? ausgelaufenes aku?

[ - Answer - Quote - Direct link - ]

2004-11-19, 20:29 h

Palgucker
Posts: 1342
User
@ Thomas

Mit Sekunden als Einheit finde ich das hingegen überhaupt nicht zufällig. Es sollten schon Zehntel oder Hundertstel dabei sein.

Zum üben sollten die 86400 Möglichkeiten erst einmal reichen. Wenn man mehrere Zufallszahlen innerhalb kurzer Zeit braucht, hast Du natürlich recht. Unter Arexx ist das ganze aber eigendlich nicht wirklich ein Problem. Es ginge auch so:

RND = random(1,9,c2d(import('00dff006'x,2)))

Allerdings bezweifle ich ein bischen, das man auch mit der Scriptsprache von Scala Hardwareadressen auslesen kann. Wenn doch, könnte es ja eine Lösung sein.

mfg Palgucker

[ - Answer - Quote - Direct link - ]

2004-11-23, 03:31 h

wawa
Posts: 314
User
ha! guter tip! habe die zufallfunktion tatsächlich über arex abgewickelt als execute von scala scrypt, übrigens scala scrypt (lingo) kann sich dieser rezeptur genauso gut nativ bedienen. so sind alle parameter der präsentation auf zufall gestellt. läuft grandios!!!

danke, palgucker, mann!




[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > random funktion in scala [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.