mirror of
https://codeberg.org/andyscott/ziglings.git
synced 2024-12-22 14:03:10 -05:00
New usize explanation 008, etc.
This commit is contained in:
parent
989648d2cd
commit
de322fab46
2 changed files with 22 additions and 9 deletions
|
@ -1,7 +1,7 @@
|
|||
//
|
||||
// Quiz time! Let's see if you can fix this whole program.
|
||||
//
|
||||
// This is meant to be challenging.
|
||||
// You'll have to think about this one a bit.
|
||||
//
|
||||
// Let the compiler tell you what's wrong.
|
||||
//
|
||||
|
@ -13,14 +13,23 @@ pub fn main() void {
|
|||
// What is this nonsense? :-)
|
||||
const letters = "YZhifg";
|
||||
|
||||
// Note: usize is an unsigned integer type used for...sizes.
|
||||
// The exact size of usize depends on the target CPU
|
||||
// architecture. We could have used a u8 here, but usize is
|
||||
// the idiomatic type to use for array indexing.
|
||||
//
|
||||
// There IS a problem on this line, but 'usize' isn't it.
|
||||
const x: usize = 1;
|
||||
|
||||
// This is something you haven't seen before: declaring an array
|
||||
// without putting anything in it. There is no error here:
|
||||
// Note: When you want to declare memory (an array in this
|
||||
// case) without putting anything in it, you can set it to
|
||||
// 'undefined'. There is no problem on this line.
|
||||
var lang: [3]u8 = undefined;
|
||||
|
||||
// The following lines attempt to put 'Z', 'i', and 'g' into the
|
||||
// 'lang' array we just created.
|
||||
// 'lang' array we just created by indexing the array
|
||||
// 'letters' with the variable 'x'. As you can see above, x=1
|
||||
// to begin with.
|
||||
lang[0] = letters[x];
|
||||
|
||||
x = 3;
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
16c16
|
||||
< const x: u8 = 1;
|
||||
22c22
|
||||
< const x: usize = 1;
|
||||
---
|
||||
> var x: u8 = 1;
|
||||
27c27
|
||||
> var x: usize = 1;
|
||||
26c26
|
||||
< // 'undefined'. There is no problem on this line.
|
||||
---
|
||||
> // 'undefined'. There is no error here.
|
||||
36c36
|
||||
< lang[???] = letters[x];
|
||||
---
|
||||
> lang[1] = letters[x];
|
||||
29,30c29,30
|
||||
38,39c38,39
|
||||
< x = ???;
|
||||
< lang[2] = letters[???];
|
||||
---
|
||||
|
|
Loading…
Reference in a new issue