From fbb973b80afc37204585950e190bf9d4cc21c260 Mon Sep 17 00:00:00 2001 From: Flaviu Tamas Date: Thu, 22 Jan 2015 16:20:02 -0500 Subject: [PATCH] Fix out of date code --- content/oop.md | 2 +- content/oop_macro.md | 12 ++++++------ validcodehashes.txt | 31 +++++++++++++++---------------- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/content/oop.md b/content/oop.md index 4a210b4..4befd90 100644 --- a/content/oop.md +++ b/content/oop.md @@ -9,7 +9,7 @@ Object oriented programming is supported through inheritance and methods, which Inheritance is created with the `of` keyword in the type declaration of an object. A method is overridden by creating a new method with parameter types of the subtype. ``` nimrod -type Animal = ref object of TObject +type Animal = ref object of RootObj name: string age: int method vocalize(this: Animal): string = "..." diff --git a/content/oop_macro.md b/content/oop_macro.md index 1c38297..3363943 100644 --- a/content/oop_macro.md +++ b/content/oop_macro.md @@ -7,7 +7,7 @@ title: OOP Macro This is the code that we currently must write to use OOP in Nim: ```nimrod -type Animal = ref object of TObject +type Animal = ref object of RootObj name: string age: int method vocalize(this: Animal): string = "..." @@ -24,7 +24,7 @@ method vocalize(this: Cat): string = "meow" All these typedefs and `this: T` parameters are repetitive, so it'd be good to write a macro to mask them. Something like this would be best: ```nimrod -class Animal of TObject: +class Animal of RootObj: var name: string var age: int method vocalize: string = "..." @@ -63,7 +63,7 @@ macro class*(head: expr, body: stmt): stmt {.immediate.} = # Infix # Ident !"of" # Ident !"Animal" - # Ident !"TObject" + # Ident !"RootObj" typeName = head[1] baseName = head[2] @@ -175,7 +175,7 @@ macro class*(head: expr, body: stmt): stmt {.immediate.} = # ObjectTy # Empty # OfInherit - # Ident !"TObject" + # Ident !"RootObj" # Empty <= We want to replace this # MethodDef # ... @@ -186,7 +186,7 @@ macro class*(head: expr, body: stmt): stmt {.immediate.} = # echo repr(result) # Output: # type - # Animal = ref object of TObject + # Animal = ref object of RootObj # name: string # age: int # @@ -198,7 +198,7 @@ macro class*(head: expr, body: stmt): stmt {.immediate.} = # --- -class Animal of TObject: +class Animal of RootObj: var name: string var age: int method vocalize: string = "..." diff --git a/validcodehashes.txt b/validcodehashes.txt index fd01623..84aae9a 100644 --- a/validcodehashes.txt +++ b/validcodehashes.txt @@ -1,27 +1,27 @@ 489fd1e2356eb85f81bac48e45b186a7 -da4974745059fff2c0c3d0af688042ab -ef380e36bcc0ebf11902cefaa10ec31b -98f917ee2165bc9461c3e9316e8e70ee -b243592b06e93bb3cf1f7d62a25abaa3 -1f6e436b0fbdc68e1776422df711c2bb -394ca46d1bf22dedef7e6e753bd033c8 -8afe80a509d316a3feb3caa1c985760a -9551565b83418876b5211869acbcf7cc ade4a4b3b6973bbb44f2e74aee1954f7 +ef380e36bcc0ebf11902cefaa10ec31b 26ded9e69879069fb8970403e87a24c9 +b243592b06e93bb3cf1f7d62a25abaa3 3f3dfdee017d0c329d594e9fe038ed9f cf09b588bb8b3c6979d24dcaff932c68 -448a6cb31706860e7957f8dcca732d85 +4bb57235ab6f4f0dd1eea58a769570c5 +394ca46d1bf22dedef7e6e753bd033c8 +8afe80a509d316a3feb3caa1c985760a +0bdba4c56b6172c86726f424b4186baf +9551565b83418876b5211869acbcf7cc ac4fe7f722b390100501e638ce8a9750 -eb67590e2472e05b207856959e5461c8 +f770b25468d042a02822e90df0848f35 10ae94a28a0d8f23aff5afaa0367cf27 1865b827bef365e6422beb6bc076a25d 398863bccd3691b42500dfa143a3230b cdf52a33222c8402025606b0bb4da4d9 b8875a112bc13ea83556bcf385c1160b +bee0509ab4bcf36510a85081d563057b 30111c31170d8cd9979ae7d88fa276e7 0e641a70cbd7b3e955bb29bde934f36e +ad9e1e896361b0313c3ba66f793f4e6b d599ef057eaaac83139eb8f949cef356 e0e0e0b5724e296371d1704996096343 2d60def87d4fa95e26b9f8eade4b0baa @@ -31,9 +31,8 @@ d01dfb20f1d8c1741eef320e82bfcdc2 fbb7977d27de5251fa736a627aaa8311 847d1c4525d9056206a1e4f4855a9e10 e4b29a303e0a22cab1f2bfb769ce66c5 -e4fbe215e23d9a5c39312839c5fb1b41 -bee0509ab4bcf36510a85081d563057b -ad9e1e896361b0313c3ba66f793f4e6b -f770b25468d042a02822e90df0848f35 -4bb57235ab6f4f0dd1eea58a769570c5 -0bdba4c56b6172c86726f424b4186baf \ No newline at end of file +260d9667bbbc34ce79da5d60efecef02 +24614b0b8792a9afc184e4d63e345981 +217de4ce8743609c7592a3d75264b17d +36c0a24d4e54348f950ff421a33dcd38 +0b0bdbed7863d3ec82d2d8cb628562ed \ No newline at end of file