From Test-Scratch-Wiki

() < () ब्लॉक एक ऑपेरेटर्स ब्लॉक और बूलियन ब्लॉक है। एक वैल्यू जब दूसरी वैल्यू से कम हो, तो यह ‘ट्रू’ रिपोर्ट करता है। अगर ऐसा न हो, तो यह ‘फॉल्स’ रिपोर्ट करता है।

यह ब्लॉक वर्णानुसार अंकों और स्ट्रिंग्स की तुलना कर सकता है। स्क्रैच १.३ और पहले के वर्शनों में यह केवल अंकों की तुलना कर सकता था।

उदाहरण उपयोग

इस ब्लॉक के आमतौर पर किए जाने वाले कुछ उपयोग:

  • छाँटना
  • चीज़ को लिस्ट में डालने के लिए
set [i v] to [1]
repeat until <<(i) > (length of [scores v])> or <(item (i) of [scores v]) < (score)>>
    change [i v] by (1)
end
insert (score) at (i) of [scores v]
  • अंकों या अक्षरों को इवैल्यूएट करने के लिए
if <(score) < (5)> then
    say [Poor job.] for (1) secs
    stop [this script v]
end
if <(item (i) of [scores v]) < (10)> then
    say [Well done.] for (1) secs
    stop [this script v]
end
say [Great!] for (1) secs
  • चरों को कम्पैर करने के लिए
if <(score 1) < (score 2)> then
    say [Player 2 wins!]
else
    say [Player 1 wins!]
end
  • यह जाँचने के लिए कि वैल्यू दी गई सीमा के अंदर है या नहीं
ask [Please rate my cookies from 1 to 10.] and wait
repeat until <not <<(answer) < [1]> or <(answer) > [10]>>>
    ask [Please rate my cookies from 1 to 10.] and wait
end

तुलना

अंकों की तुलना

अंकों की तुलना तब ही होगी अगर बहुत बड़ा नंबर न हो।

set [number 1 v] to [100]
set [number 2 v] to [101]
say <(number 1) < (number 2)> for (2) seconds // returns true
set [number 1 v] to [100000000000000000]
set [number 2 v] to [100000000000000001]
say <(number 1) < (number 2)> for (2) seconds // returns false

यह तब ही होता है, जब अंकों को स्ट्रिंग के रूप में स्टोर किया गया है, न कि कैलकुलेट किया गया।

यह उदाहरण उन अंकों की तुलना करता है जो स्ट्रिंग के रूप में स्टोर किए गए हैं, परन्तु उन में साइन और डेसीमल पॉइंट नहीं है।

set [number 1 v] to [100000000000000000]
ask [The answer is "100000000000000001"] and wait
set [number 2 v] to (answer)
if <(length of (number 1)) = (length of (number 2))> then
  say <(join (number 1) [a]) < (join (number 2) [a])> for (2) seconds // returns true
else
  say <(length of (number 1)) < (length of (number 2))> for (2) seconds
end

यह इसलिए काम करता है क्योंकि यह स्क्रैच को टेक्स्ट कम्पैरिसन करने के लिए फ़ोर्स करता है। (अंक कम्पैरिसन के बजाए)

टेक्स्ट की तुलना

टेक्स्ट की तुलना वर्णानुसार की जाती है:

<[a] < [b]> // returns true
<[b] < [a]> // returns false

खली वैल्यू

खली वैल्यू को दूसरी वैल्यू से सदा छोटा समझा जाएगा है:

<[] < (10)> // returns true
<(10) < []> // returns false

दूसरा तरीका

इस ब्लॉक को रेप्लिकेट करने का तरीका है:

<(b) > (a)>

से लघु और समतूल्य

कभी-कभी यह जानना ज़रूरी होता है कि वैल्यू दूसरी वैल्यू से छोटी है या समतूल्य है, पर ऐसा करने के लिए ब्लॉक नहीं होता है। ऐसा करने का तरीका है:

<not <(a) > (b)>>
Cookies help us deliver our services. By using our services, you agree to our use of cookies.