BSL talk:Manual: Difference between revisions
Jump to navigation
Jump to search
Paradox-01 (talk | contribs) (more o_O) |
(heh, I guess I kinda knew the answer already) |
||
Line 92: | Line 92: | ||
BSL_chaos | BSL_chaos | ||
} | } | ||
---- | |||
:Okay, that must be a limitation of the function stack in BSL. If you put "fork BSL_chaos", it goes all the way to six. I had already tried "fork BSL_chaos" in the previous code, but it doesn't accept the keyword "fork" in that context. I guess I should have said something earlier, but I assumed for some reason that the execution stack was bigger than that, so I figured it was "iterate" that was limiting us somehow. Well, congrats on figuring out a way to use "iterate", although I still think it was meant for arrays. --[[User:Iritscen|Iritscen]] 23:19, 8 December 2009 (UTC) |
Revision as of 23:19, 8 December 2009
Tested this code in bio lab. Loop stops after displaying "riddle 4" for no reason. Strange enough: somethingX isn't declared but the code doesn't crash. Riddle me that. =D --Paradox-01 16:37, 6 December 2009 (UTC)
var int riddle_counter = 0; func main { chr_wait_animtype 0 punch #dmsg "Second test in bio lab." BSL_chaos } func BSL_chaos { dmsg "hello?" riddle_counter = riddle_counter + 1; if (riddle_counter eq 1) { dmsg "[g.riddle 1]" } if (riddle_counter eq 2) { dmsg "[g.riddle 2]" } if (riddle_counter eq 3) { dmsg "[g.riddle 3]" } if (riddle_counter eq 4) { dmsg "[g.riddle 4]" } if (riddle_counter eq 5) { dmsg "[g.riddle 5]" #dmsg "[r.ends here in compound level]" } if (riddle_counter eq 6) { dmsg "[g.riddle 6]" } sleep 60 something2 = BSL_chaos iterate over something2 using somethingX }
- Wow, interesting. Although I don't think it matters that something2 and somethingX are undeclared, because BSL supports weak syntax. But why does it stop at 4? Hmm.... --Iritscen 17:21, 6 December 2009 (UTC)
- iterate doesn't really work, so I'm not suprised. :) Not sure about the riddle_counter thing. Does it still break when you use else if? BSL is goofy. :) Gumby 10:06, 7 December 2009 (UTC)
- Did you actually notice what paradox is doing here? riddle_counter is tracking how many times iterate works. So asking if riddle_counter works on its own is kinda silly ;-) Anyway, how sure are we that this is how iterate was meant to be used? I mean, it looks like you're setting an iterator to a function pointer or something, which is sort of weird for any language. Wouldn't iterate have been intended for use with arrays? It seems like all those deprecated keywords -- every, for, iterate, over, repeat, and using -- were meant for arrays. Now if only we knew how to make an array! --Iritscen 11:32, 7 December 2009 (UTC)
- O_o You are right. Two things to check: See what somethingX is at the end. Try setting SomethingX to a value first. Gumby 00:12, 8 December 2009 (UTC)
- iterate over something2 using 7
Line 43 Illegal token, got "7" expected "identifier"
Hm, whatever. I think the "right" one was ignored. See following... The messages stop appearing after the fourth time again. Any ideas? (Is my oni sick or what?) --Paradox-01 07:09, 8 December 2009 (UTC)
- iterate over something2 using 7
- O_o You are right. Two things to check: See what somethingX is at the end. Try setting SomethingX to a value first. Gumby 00:12, 8 December 2009 (UTC)
- Did you actually notice what paradox is doing here? riddle_counter is tracking how many times iterate works. So asking if riddle_counter works on its own is kinda silly ;-) Anyway, how sure are we that this is how iterate was meant to be used? I mean, it looks like you're setting an iterator to a function pointer or something, which is sort of weird for any language. Wouldn't iterate have been intended for use with arrays? It seems like all those deprecated keywords -- every, for, iterate, over, repeat, and using -- were meant for arrays. Now if only we knew how to make an array! --Iritscen 11:32, 7 December 2009 (UTC)
- iterate doesn't really work, so I'm not suprised. :) Not sure about the riddle_counter thing. Does it still break when you use else if? BSL is goofy. :) Gumby 10:06, 7 December 2009 (UTC)
var int riddle_counter = 0; func main { chr_wait_animtype 0 punch BSL_chaos } func BSL_chaos { riddle_counter = riddle_counter + 1; sleep 30 if (riddle_counter eq 1) { dmsg "[g.riddle 1]" } if (riddle_counter eq 2) { dmsg "[g.riddle 2]" } if (riddle_counter eq 3) { dmsg "[g.riddle 3]" } if (riddle_counter eq 4) { dmsg "[g.riddle 4]" } if (riddle_counter eq 5) { dmsg "[g.riddle 5]" } if (riddle_counter eq 6) { dmsg "[g.riddle 6]" } sleep 30 BSL_chaos }
- Okay, that must be a limitation of the function stack in BSL. If you put "fork BSL_chaos", it goes all the way to six. I had already tried "fork BSL_chaos" in the previous code, but it doesn't accept the keyword "fork" in that context. I guess I should have said something earlier, but I assumed for some reason that the execution stack was bigger than that, so I figured it was "iterate" that was limiting us somehow. Well, congrats on figuring out a way to use "iterate", although I still think it was meant for arrays. --Iritscen 23:19, 8 December 2009 (UTC)