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

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

in pl1 by (360 points) | 125 views
0

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

1 Answer

+1 vote

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

fun less x y = x - y < 42;

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

by (320 points)

297 questions

287 answers

287 comments

3.1k users