Εργαστήριο Τεχνολογίας Λογισμικού
+1 vote
294 views

Θα ήθελα να ορίσω μια δίκη μου εκδοχή για τον τελεστή <, την οποία να περνάω ως όρισμα σε μια συνάρτηση. Μπορεί να γίνει αυτό και αν ναι, πώς;

in pl1 by (360 points) | 294 views
0

Το σχόλιο του @nick θα έπρεπε να είναι απάντηση.

1 Answer

+1 vote

Η ML δεν υποστηρίζει υπερφόρτωση των τελεστών της.
Αυτό που γίνεται είναι να ορίσεις μια συνάρτηση η οποία θα έχει τη συμπεριφορά που θέλεις, π.χ.

fun less x y = x - y < 42;

Στη συνέχεια η συνάρτηση αυτή μπορεί να περαστεί απλώς σαν όρισμα σε μια άλλη συνάρτηση f.
Βέβαια αυτό δεν είναι αναγκαίο, αν αυτό που θέλεις είναι απλώς να χρησιμοποιείς τη συνάρτηση less μέσα στην f. Αρκεί η μία συνάρτηση να είναι ορατή από την άλλη (π.χ. μέσα στην ίδια δομή let...in...end)

by (320 points)

301 questions

289 answers

288 comments

903 users