Tak więc, chciałbym napisać większe funkcje w Commodore 64 BASIC. Jak dotąd, z tego, co widzę z innych źródeł (takich jak różne wiki na C64, a także instrukcja dla samego C64), definicje funkcji mogą mieć tylko jedną linię. Oznacza to, że nie mogę znaleźć analogicznej konstrukcji w języku BASIC do nawiasów/cokolwiek innego używają inne języki do wyznaczania bloków kodu.Funkcje wieloliniowe w Commodore 64 BASIC
Czy ktoś wie, jak napisać bloki kodu w języku BASIC, które są więcej niż jedną linią?
Przykład funkcji jednej linii:
10 def fn X(n) = n + 1
20 print fn X(5) rem Correctly called function. This will output 6
Ale nie mogę zrobić coś takiego:
10 def fn X(n) =
20 n = n + 1
30 print n
40 rem I'd like the definition of function X to end at line 30 above
50 fn X(5) rem Produces syntax error on line 40
Dziękuję za poświęcony czas!
modbasic to podstawowe rozszerzenie (wedge?), Które pozwala na wykonywanie podprogramów z parametrami, a nawet rekurencją. Spróbuj wyszukać w Internecie: "modbasic" commodore – Core
Nie musisz wstawiać podprogramu przed gosubem. W rzeczywistości, jak rzeczy stoją twój program będzie błąd, ponieważ wykona 'return' przed wykonaniem' gosub'. – JeremyP
Myślałem o tym bardziej jako część większej całości, ale masz rację, że wprowadza w błąd i dostałby błąd, gdyby działał w izolacji. Nadpisałem numer i dodałem kolejną uwagę (komentarz), aby lepiej to wyjaśnić. – Feneric