Re: [NTG-context] How to define such a function in lua? Sorry I don't have a name on it.
On Fri, Dec 5, 2008 at 8:05 AM, Arthur Reutenauer [EMAIL PROTECTED] wrote: but it might make more sense to look into metatables (i assume that you own the programming in lua book which explains that) I don't have one :(, I'll take a good at it later. You really should look into the book, it has a whole chapter about object-oriented programming in Lua, and explains useful conventions. Oh it's a long document. I almost took a day to finish it. I've got the main idea now. Thanks. I'm sorry, I got another question now. How to link two variables? Like if I change one, the other would be changed as well. This may be a piece of cake for you and please forgive my laziness. Arthur ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___ -- Best Regards Chen Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] How to define such a function in lua? Sorry I don't have a name on it.
variables are only symbols in lua. they are reference to values (a place in the memory). On 12/5/08, Zhichu Chen [EMAIL PROTECTED] wrote: On Fri, Dec 5, 2008 at 8:05 AM, Arthur Reutenauer [EMAIL PROTECTED] wrote: but it might make more sense to look into metatables (i assume that you own the programming in lua book which explains that) I don't have one :(, I'll take a good at it later. You really should look into the book, it has a whole chapter about object-oriented programming in Lua, and explains useful conventions. Oh it's a long document. I almost took a day to finish it. I've got the main idea now. Thanks. I'm sorry, I got another question now. How to link two variables? Like if I change one, the other would be changed as well. This may be a piece of cake for you and please forgive my laziness. Arthur ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___ -- Best Regards Chen Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___ ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] How to define such a function in lua? Sorry I don't have a name on it.
Zhichu Chen wrote: Hi, I'm learning to use luatex these days, one day actually. It's very interesting. Although reference manuals are available, I still don't know how to implement my designation. The thing is, I know there's a self variable for object-oriented programming, like == \startluacode testdata = { a = 0, b = 0, c = 0, plus = function (self) self.c = self.a + self.b end } mytest = testdata mytest.a=10 mytest.b=100 mytest:plus() tex.print(mytest.c) \stopluacode == OK, but what if I wanna do something more, like substract? I would like to use another object, like == \startluacode testdata = { a = 0, b = 0, c = 0, calc = Calc } Calc = { plus = function (self) self.c = self.a + self.b end, substract = function (self) self.c = self.a - self.b end } mytest = testdata mytest.a=10 mytest.b=100 mytest.calc:plus() tex.print(mytest.c) \stopluacode == Of course this won't work, for the self in Calc refers to mytest.calc rather than mytest. How to implement things like that? Calc = { add = function (self) self.c = self.a + self.b end, substract = function (self) self.c = self.a - self.b end } testdata = { a = 0, b = 0, c = 0, calc = function(self,f) return Calc[f](self) end } mytest = testdata mytest.a=10 mytest.b=100 Calc.add(testdata) print(mytest.c) testdata:calc(substract) print(mytest.c) but it might make more sense to look into metatables (i assume that you own the programming in lua book which explains that) Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] How to define such a function in lua? Sorry I don't have a name on it.
On Thu, Dec 4, 2008 at 5:28 PM, Hans Hagen [EMAIL PROTECTED] wrote: Zhichu Chen wrote: Hi, I'm learning to use luatex these days, one day actually. It's very interesting. Although reference manuals are available, I still don't know how to implement my designation. The thing is, I know there's a self variable for object-oriented programming, like == \startluacode testdata = { a = 0, b = 0, c = 0, plus = function (self) self.c = self.a + self.b end } mytest = testdata mytest.a=10 mytest.b=100 mytest:plus() tex.print(mytest.c) \stopluacode == OK, but what if I wanna do something more, like substract? I would like to use another object, like == \startluacode testdata = { a = 0, b = 0, c = 0, calc = Calc } Calc = { plus = function (self) self.c = self.a + self.b end, substract = function (self) self.c = self.a - self.b end } mytest = testdata mytest.a=10 mytest.b=100 mytest.calc:plus() tex.print(mytest.c) \stopluacode == Of course this won't work, for the self in Calc refers to mytest.calc rather than mytest. How to implement things like that? Calc = { add = function (self) self.c = self.a + self.b end, substract = function (self) self.c = self.a - self.b end } testdata = { a = 0, b = 0, c = 0, calc = function(self,f) return Calc[f](self) end } mytest = testdata mytest.a=10 mytest.b=100 Calc.add(testdata) print(mytest.c) testdata:calc(substract) print(mytest.c) Thanks but it might make more sense to look into metatables (i assume that you own the programming in lua book which explains that) I don't have one :(, I'll take a good at it later. Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___ -- Best Regards Chen Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
Re: [NTG-context] How to define such a function in lua? Sorry I don't have a name on it.
but it might make more sense to look into metatables (i assume that you own the programming in lua book which explains that) I don't have one :(, I'll take a good at it later. You really should look into the book, it has a whole chapter about object-oriented programming in Lua, and explains useful conventions. Arthur ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___
[NTG-context] How to define such a function in lua? Sorry I don't have a name on it.
Hi, I'm learning to use luatex these days, one day actually. It's very interesting. Although reference manuals are available, I still don't know how to implement my designation. The thing is, I know there's a self variable for object-oriented programming, like == \startluacode testdata = { a = 0, b = 0, c = 0, plus = function (self) self.c = self.a + self.b end } mytest = testdata mytest.a=10 mytest.b=100 mytest:plus() tex.print(mytest.c) \stopluacode == OK, but what if I wanna do something more, like substract? I would like to use another object, like == \startluacode testdata = { a = 0, b = 0, c = 0, calc = Calc } Calc = { plus = function (self) self.c = self.a + self.b end, substract = function (self) self.c = self.a - self.b end } mytest = testdata mytest.a=10 mytest.b=100 mytest.calc:plus() tex.print(mytest.c) \stopluacode == Of course this won't work, for the self in Calc refers to mytest.calc rather than mytest. How to implement things like that? Thanks in advance. -- Best Regards Chen Zhi-chu Chen | Shanghai Synchrotron Radiation Facility No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China tel: 086 21 5955 3405 | zhichu.chen.googlepages.com | www.sinap.ac.cn ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___