Έχουν δημοσιευτεί Δευτέρα, 7 Ιουνίου 2010 12:45 μμ από το μέλος PALLADIN

Α programming puzzle: My solution

Η λύση που έστειλα είναι η Solution2 του darklynx...

	public class Thunk<T>
	{
		private Func<T> func;

		public T Value
		{
			get { return func(); }
		}

		public Thunk(Func<T> computeFunc)
		{
			this.func = () => { func = ((Func<T, Func<T>>)(value => () => value))(computeFunc()); return func(); };
		}
	}
Η τεχνική αυτή μοιάζει λίγο με Jit thunks.
Happy hacking.
Share


Ενημέρωση για Σχόλια

Αν θα θέλατε να λαμβάνετε ένα e-mail όταν γίνονται ανανεώσεις στο περιεχόμενο αυτής της δημοσίευσης, παρακαλούμε γίνετε συνδρομητής εδώ

Παραμείνετε ενήμεροι στα τελευταία σχόλια με την χρήση του αγαπημένου σας RSS Aggregator και συνδρομή στη Τροφοδοσία RSS με σχόλια

Σχόλια:

 

Markos έγραψε:

Από απλή περιέργεια (αν και είναι αμαρτία), γνωρίζεις τι απάντησαν στο φίλο σου; Και κάτι ακόμα... Γιατί "άπλωσε" τόσο το post;

Περιμένουμε καινούρια puzzles!!

Ιουνίου 7, 2010 5:21 μμ
 

PALLADIN έγραψε:

Kalispera Marko

Distixos den apantise tin erotisi kai i epomeni

itan pos tha ekane ton arxiko codika thread-safe...Anyway, telika den ton piran... ti ennoeis otan les "aplose"?

Ιουνίου 7, 2010 5:33 μμ
 

Markos έγραψε:

Ανάμεσα στο: public Thunk(Func<T> computeFunc){

και στο:

this.func = () => ...

μεσολαβεί κενό διάστημα μιας οθόνης. Στον explorer, βέβαια. Γιατί τώρα που άνοιξα τον Firefox όλα είναι μια χαρά.

Ιουνίου 7, 2010 5:42 μμ
 

Panagiotis Kefalidis έγραψε:

Thread safe? Kanontas apla lock ston get accessor h/kai sthn "func" should do the trick.

Ιουνίου 7, 2010 5:56 μμ
 

PALLADIN έγραψε:

Gia tin istoria... mporeite na breite tin

antistixi class Lazy

http://msdn.microsoft.com/en-us/library/dd642331%28v=VS.100%29.aspx

Ιουνίου 7, 2010 6:00 μμ
 

darklynx έγραψε:

Ομολογώ το τελευταίο link με ξάφνιασε,δε γνώριζα το ότι υποστηρίζεται lazy initialization στο .NET 4.0.

Πάντως παρότι η λύση η δικιά μου και αυτή που παρουσίασες βασίζονται στην ίδια ιδέα,από άποψη κομψότητας η διαφορά είναι εμφανέστατη.

Αναρωτιέμαι τι αλλαγές επιφυλάσσει το μέλλον αν υπάρχουν ήδη εταιρείες που παίρνουν τη γνώση functional programming τόσο σοβαρά υπόψην τους.

Ιουνίου 7, 2010 6:22 μμ
 

KelMan έγραψε:

Εκτός αν η εταιρεία είναι η kaChing Group Inc, μάλλον από εδώ το ...πήραν: http://www.slideshare.net/pascallouis/add-syntactic-sugar-to-your-java :D

Ιουνίου 8, 2010 4:42 μμ
 

PALLADIN έγραψε:

Thanks pou entopises auti tin parousiasi, giati deixnei oti i kentriki idea piso apo ton codika tou darklynx kai tou dikou mou einai kai i sosti. Plus oti einai ksekatharo poso simantiko

feature einai ta λambdas+closures stin kompsotita tou codika kai stin ekfrastikotita tis skepsis...

Ιουνίου 8, 2010 10:55 μμ
 

dpant έγραψε:

Απίστευτη απαίτηση, απίστευτη λύση και απίστευτα μη αλγοριθμική => εχω αμφιβολίες περί κομψότητας και εκφραστικότητας. :)

Ιουνίου 11, 2010 9:09 πμ

Ποιά είναι η άποψή σας για την παραπάνω δημοσίευση;

(απαιτούμενο)
απαιτούμενο
προαιρετικό
απαιτούμενο
ÅéóÜãåôå ôïí êùäéêü:
CAPTCHA Image