When they aren't

From J Wiki
Jump to navigation Jump to search


<=   =>

You have seen that =. and =: in the Term window are the same. And you have seen that inside a verb they are different. It is important to realize there is also a difference in scripts.

When you run a script, the load sentence is executed in the Term window and the verb load executes the sentences in the script. So, the sentences in the script are executed in the load verb. This means that names defined with =. are defined as locals of the verb load. If you want to define a global in the script you must use =: . This is why the lines which define globals such as centigrade and fahrenheit in your script cf.ijs must use =: . If you used =. , they would be local to load and would disappear as soon as load finished execution.

Always think about whether a definition is global or local and use =: and =. accordingly.

<=   =>

Primer Index               Hover to reveal titles   -   Click to access   -   Current page is highlighted
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
45 46 47 48
50 51 52 53 54 55 56 57
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
97 98 99 100 101 102 103 104 105 106