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

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

in pl1 by (260 points) | 105 views
0

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

1 Answer

+1 vote

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

fun less x y = x - y < 42;

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

by (320 points)

261 questions

253 answers

274 comments

2.9k users