Module:HelloWorld

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μετάβαση στην πλοήγηση Πήδηση στην αναζήτηση
Τεκμηρίωση[δημιουργία]
my_object = {};     --Όλα τα module στα βικιεγχειρήματα πρέπει να ξεκινάνε δηλώνοντας μία μεταβλητή
                    --η οποία θα περιέχει τις συναρτήσεις που είναι προσπελάσιμες από έξω
                    --Αυτές οι μεταβλητές μπορούν να έχουν οποιοδήποτε όνομα
                    --και να περιέχουν διάφορα δεδομένα ή σταθερές καθώς και συναρτήσεις.
                    --Εδώ της δίνουμε το όνομα my_object.
                    --Συνήθως είναι προτιμότερο να της δώσουμε για όνομα ένα σκέτο p,
                    --αλλά εδώ χρησιμοποιούμε το my_object για λόγους επίδειξης.

my_object.hello = function( frame )     
                                        --Προσθέτουμε μιά συνάρτηση στο my_object
                                        --Αυτές οι συναρτήσεις είναι προσπελάσιμες από τις σελίδες των βικιεγχειρημάτων
                                        --μέσω της εντολής #invoke
                                        --το "frame" θα περιέχει όλα τα δεδομένα που στέλνει το βικιεγχείρημα
                                        --στη συνάρτηση όταν κληθεί από εκεί
    
    local str = "Hello World!"  --Δηλώνουμε μία τοπική μεταβλητή με το όνομα str
                                --και της δίνουμε την τιμή "Hello World!".
                                --"Hello World!".  
    
    return str    --Εδώ εγκαταλείπουμε τη συνέρτηση 
                  --και επιστρέφουμε στο βικιεγχείρημα ότι περιέχει το "str"
    
end  -- τέλος της συνάρτησης 

--ακριβώς η ίδια συνάρτηση με διαφορετικό τρόπο
my_object['hello1'] = function( frame )
    local str = "Hello World!"
    return str
end 

my_object.hello2 = function( frame )
    local myarg1 = frame.args[1] --βρίσκουμε την πρώτη παράμετρο
    							--(από την κλήση της συνάρτησης
    							--αν η κλήση έγινε από πρότυπο τότε παιρνουμε την παράμετρο που υπάρχει στο πρότυπο 
    							--και όχι αυτή που έστειλε η σελίδα στο πρότυπο)
    local str = "Hello World!"  --Δημιουργούμε μια τοπική μεταβλητή
                                --και την κάνουμε ίση με  "Hello World!".  
    local newstring = str..' (and '..myarg1..')'..frame.args[2]
    return newstring    --Έτσι επιστρέφουμε το κείμενο της τοπικής παραμέτρου
                  		--όπως έχει διαμορφωθεί τώρα
                  		--πίσω στη σελίδα
    
end  --τέλος της συνάρτησης "hello2"

return my_object    --Όλα τα modules τελειώνουν επιστρέφοντας στη σελίδα ή στη συνάρτηση που τα κάλεσε
                    --το όνομα που χρησιμοποιήσαμε στην αρχή

-- Μπορούμε πλέον να χρησιμοποιήσουμε το module γράφωντας {{#invoke: HelloWorld | hello }}
-- ή {{#invoke: HelloWorld | hello1 }}.
-- ή {{#invoke: HelloWorld | hello2 }}.
-- Στο πρώτο τμήμα αναφέρουμε το όνομα του module
-- στο δεύτερο τη συνάρτηση που θέλουμε να χρησιμοποιήσουμε και 
-- και μετά αν θέλουμε να περάσουμε κάποιες παραμέτρους
-- Η συνάρτηση "print" δεν επιτρέπεται στα βικιεγχειρήματα.
-- Όλα γίνονται με αλφαριθμητικές μεταβλητές που επιστρέφονται στη σελίδα ή το πρότυπο που κάλεσε τη συνάρτηση