freeze क्या है
freeze एक object को lock करता है ताकि इसे बदला न जा सके, एक sculpture को glass के पीछे रखने की तरह। बाद में इसे बदलने की कोई कोशिश एक error raise करती है।
In this page:
Syntax
CONSTANT = "value".freeze
object.frozen?
freeze
.freeze एक object को immutable बनाता है, इसलिए बाद में इसे modify करने की कोई कोशिश एक FrozenError raise करती है।
Ruby में String literals default से mutable हैं (कुछ languages के उलट), इसलिए freeze explicitly तब इस्तेमाल होता है जब आप guarantee करना चाहें कि एक string कभी नहीं बदलेगी। accidental mutation रोकने के लिए Freezing आमतौर पर constants पर भी apply होता है।
Note:
एक file की पहली line की तरह
# frozen_string_literal: true इसमें हर string literal को default से frozen बना देता है।उदाहरण: freeze
name = "Alice".freeze
puts name.frozen?
begin
name << " Smith"
rescue => e
puts "Error: #{e.class}"
end
Login to try C/C++/Java/PHP code in the editor
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the
view already swaps in the hi_ translation fields (or blanks these
out if untranslated), so this renders correctly for both languages
without a lang_code check here. #}
आम गलतियां
- यह मान लेना कि
freezeपूरी nested structure immutable बनाता है, जब यह सिर्फ object freeze करता है और इसके contents फिर भी बदल सकते हैं। - एक frozen string पर
name << " Smith"try करना, जोFrozenErrorraise करता है; इसकी बजायname + " Smith"इस्तेमाल करें। - एक variable की value freeze करना और यह सोचना कि variable reassign नहीं हो सकता, जब
name = "Bob"फिर भी काम करता है।
चैप्टर सारांश
- Strings के पास कई methods हैं, और multiline strings और heredocs लंबे text handle करते हैं।
- String formatting,
gsub,sub,split, औरjointext transform करते हैं। freezeएक string को modify होने से रोकता है।
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: