हम हाल ही में हमारे कोड प्रोफाइलिंग कर रहे हैं और हम कुछ कष्टप्रद हॉटस्पॉट में आ गए हैं। वे के रूप में कर रहे हैंधीमी स्केल assert
assert(a == b, a + " is not equal to " + b)
क्योंकि इनमें से कुछ का दावा है कोड में समय की एक बड़ी राशि स्ट्रिंग concat को जोड़ने के लिए शुरू होता है कहा जाता है हो सकता है। assert
के रूप में परिभाषित किया गया है:
def assert(assumption : Boolean, message : Any) = ....
क्यों नहीं यह के रूप में परिभाषित किया गया है: इस तरह यह lazily मूल्यांकन करेगा
def assert(assumption : Boolean, message : => Any) = ....
। यह देखते हुए कि यह परिभाषित नहीं किया गया है कि इस तरह एक संदेश परम के साथ जोर देने का एक इनलाइन तरीका है जिसका मूल्यांकन आलसी है?
धन्यवाद
उन है कि पता नहीं है के लिए, यह 2.8 में तय हुई थी। – Dave