fre 2007-08-03 klockan 07:14 +0000 skrev Stephen Ball:
just to chime in here - i'm VERY new to programming. how do you create this kind of concurrency? if, say, you wanted to create two while loops, but wanted them to run "side-by-side", but looping at different speeds, how would you do it?
for example:
while (true){ do something; 100::ms => now;}
and
while (true) {do something else; 150::ms => now;}
Yes, you can do that. FYI, it's called threading in traditional programming languages and is often a pain in the ass, but since chuck isn't a traditional language it's called sporking and is as simple as running a chuck file. I don't know how you create your patches and run them on your system, but I am a command-line person, so when I start coding in chuck, I open a command-line and type "chuck --loop". Then I open another command-line and create/dig out my patch and I run it with "chuck + patch.ck". Notice how the first command-line with chuck --loop tells us that we have added a file? Good. Now I'll create another patch with the second while-loop. I add it to the virtual machine (the chuck --loop) with another "chuck + patch2.ck". If you already got both of them done, you can play them synced with the command "chuck patch.ck patch2.ck" You can also do sporking in the code, but I haven't looked at that enough - it's in the help pages, though. Hope that helps, Gasten ps. look at the on-the-fly-commands.