- declaring a class inside a function allows me put related code together - can be used to simulate a closure function.
example for java: button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AsyncTaskRunner runner = new AsyncTaskRunner(); String sleepTime = time.getText().toString(); runner.execute(sleepTime); } }); and python: def subscript(event_list): class MyListener(EventListener): def __init__ (self, id): self.id = id def on_enter (self): # do something return -1 def on_leave (self): # done for event in event_list: x = MyListener(event) scheduler.add_listener(x) 在2023年1月13日星期五 UTC+8 04:05:46<Bram Moolenaar> 写道: > > > One more thing about vim9 class: > > > > can we define a named or anonymous class inside a function ? > > That can be used to simulate a closure, > > It can be made possible, but the usefulness might be minimal. Perhaps > you can give an example (possibliy in another language) of what you want > to do. > > The idea of class support is to just implement the basics, what most > other languages also have. Not adding all kinds of "nice to have" > features. > > > And maybe, someday, we can translate javascript or lua to vim9script > with > > this feature. > > Javascript is a bit of a weird language, it will be very hard to > translate into another language, because it has some constructs that > most other languages don't have. > > Anyway, I don't see this as a goal. > > -- > I think that you'll agree that engineers are very effective in their social > interactions. It's the "normal" people who are nuts. > (Scott Adams - The Dilbert principle) > > /// Bram Moolenaar -- br...@moolenaar.net -- http://www.Moolenaar.net \\\ > /// \\\ > \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// > \\\ help me help AIDS victims -- http://ICCF-Holland.org /// > -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/7b3616e4-52bc-49d4-a0cf-aa699c830137n%40googlegroups.com.