I fixed Lua

Поділитися
Вставка
  • Опубліковано 1 січ 2025

КОМЕНТАРІ •

  • @cobbcoding
    @cobbcoding 11 місяців тому +97

    I like how the most difficult thing in the whole video is the lua syntax highlighting

  • @chriscoyc
    @chriscoyc 11 місяців тому +84

    teachers: there is not a bad question
    tsoding: its just a bad question 😎

    • @hextav
      @hextav 11 місяців тому +8

      based

  • @opsJson_
    @opsJson_ 11 місяців тому +174

    BRAZIL MENTIONED? 🇧🇷🎉

  • @skaruts
    @skaruts 11 місяців тому +51

    The code is actually pretty well documented with helpful comments. It really makes it easy to follow the code and get what it's doing. I'll remember this next time I cross paths with one of those clean-code advocates who defend that you should never use any comments in code.

    • @iamdozerq
      @iamdozerq 11 місяців тому +2

      When you have rules only using them actively and smart can make you able to violate them.

    • @Evilope
      @Evilope 11 місяців тому +8

      Well named variables, sensible structure and control flow are all that's necessary most of the time...

    • @skaruts
      @skaruts 11 місяців тому +9

      @@Evilope well, realistically, most of the time that's just a pipe dream. I've read and written enough code to know that. And also what's obvious to you isn't necessarily obvious to others.
      But either way, no matter how well you name and structure things, the brain always has to decipher the code to some extent, while a comment can simply be read. Comments can and do save us a lot of time and effort.

    • @theodorealenas3171
      @theodorealenas3171 11 місяців тому

      ​@@skaruts yep, I've written tiny functions more than once and to modify them you basically need to unwrap them a little, change them and turn them into tiny functions again. I still love them though. Pity that nobody practices how to read and write them.

    • @skaruts
      @skaruts 11 місяців тому

      @@theodorealenas3171 yea, I don't like tiny functions either. You said it yourself, they make it harder and more time-consuming to make changes. But also, the more tiny functions you have, the more one has to jump around to make sense of the code, and the harder it is to follow it.
      You also have to waste more time restructuring it as you write it, and you make it harder to refactor it in the future.

  • @StaRiToRe
    @StaRiToRe 11 місяців тому +60

    to yet another Pogromming session?

  • @asdfmonstrosity
    @asdfmonstrosity 11 місяців тому +57

    Lua is a great little language. Tables as data structures work surprisingly well, closures, iterators, everything can be a key and value, ... Even module import just fits so neatly into the language, usually just returning a table (but Lua just lets you do whatever! No restrictions is really cool)

    • @MyriadColorsCM
      @MyriadColorsCM 11 місяців тому

      Its too bad OOP in LUA is pure pain, though really, you can do with jsut procedural code if you knwo what you are doing.

    • @valbogda5512
      @valbogda5512 11 місяців тому +31

      @@MyriadColorsCM I consider that one of its advantages.

    • @asdfmonstrosity
      @asdfmonstrosity 11 місяців тому +9

      @@MyriadColorsCM To get the most out of Lua you may need to do things a little differently, but I think it makes Lua better in the end. First class functions and closures really reduce the need for anything else, but it's not too much work to setup a metatable with methods if you really want it.
      I see the metatable "classes" more of a way to reduce creating multiple instances of functions, as an optimisation, rather than making Lua act particularly OO

    • @calengo454
      @calengo454 7 місяців тому

      @@MyriadColorsCM the lack of formal classes in lua is barely noticeable with the power you get with tables. metatables too if it's still not enough for you.

  • @oblivion_2852
    @oblivion_2852 11 місяців тому +6

    A good reason for the app to use the vm is to test whether ALL of the functions of the VM work. Because lua isn't just an app it's value is also in the vm you can embed in literally any other app - like how the vm is embedded in this c app that interprets lua

  • @ErikBongers
    @ErikBongers 11 місяців тому +62

    Next, let's add nullptr to Rust.

    • @IamPyu-v
      @IamPyu-v 11 місяців тому +4

      perfecto

    • @burkino7046
      @burkino7046 11 місяців тому +11

      std::ptr::null

    • @IamPyu-v
      @IamPyu-v 11 місяців тому

      @@burkino7046 :0

    • @igz5553
      @igz5553 8 місяців тому

      Underrated comment

    • @IamPyu-v
      @IamPyu-v 8 місяців тому

      @@igz5553 How is the 5th most liked comment underrated

  • @dieSpinnt
    @dieSpinnt 11 місяців тому +20

    Chat Question: "Is there a [programming] language he [=Tsoding] cannot code [in]?" (around 30:00)
    This is not really a question, or only a question and not what it looks like in the first place. It shows the respect of the questioner, because he is impressed of your computer programming skills. The person asking in fact implies, that there is no language (to his knowledge), that he thinks of that you couldn't possibly learn and use. This is a highly meta-level question and it lives in the context and also in a social context. That is btw. very impressive and in contrast to programming languages something that computers CAN NOT understand and possibly will never understand (Including large language models. There is no such thing as "understanding something".
    Thanks for the great video, Tsoding and also to Lua, that actually fixed you! Hehehe:)

    • @Turalcar
      @Turalcar 10 місяців тому +4

      You mean rhetorical question which this most likely was. Tsoding's issue with that question was the assumption that this is not normal. In every place I worked in you're expected to be able to make small changes in almost any language.

  • @Muttisuri
    @Muttisuri 11 місяців тому +6

    Yes Portuguese is Latin based, and Lua is our word for Moon yes.
    It's to note that Lua (the language) was made in Brazil where Portuguese (of the Brazilian variation (duh)) is spoken. Reading the wiki tells me that there were some trade barriers on software importation which lead to its creation, also seems that Lua was preceded by a language called SOL (Simple Object Language) but in Portuguese Sol mean Sun, so Sun and Moon.

  • @EvilTim1911
    @EvilTim1911 6 місяців тому +1

    27:00 I like this little side tangent here. This is something that was difficult for me to understand when I was starting out. When people used to tell me the choice of language isn't that important I was confused because the different languages looked SO different and it felt like they required a whole different skillset. But now after years of solving software problems professionally, I realize that writing the actual code is usually the least of my concerns and it wouldn't have made much difference if I had to implement the same solutions in a different language.

  • @elgalas
    @elgalas 11 місяців тому +4

    Gonna take note of, Asserting dominance, when joining a new project.

  • @IamPyu-v
    @IamPyu-v 11 місяців тому +6

    Gotta implement this fix to the embedded Lua interpreter in my app.

  • @TankorSmash
    @TankorSmash 11 місяців тому +7

    1:05:00 man gets frustrated its hard to add new syntax highlighting to a language specifically designed to never add new syntax

    • @TsodingDaily
      @TsodingDaily  11 місяців тому +9

      It's highlighting for a single keyword, come ooooon! 😭

    • @TankorSmash
      @TankorSmash 11 місяців тому +4

      Just looked, 13 years ago when the lua-mode was created 08cff6e3c2aa860bc26a43dc2cde1ca66558597b it was just a regex. Wonder if the software got smarter during its lifetime.

  • @glowiak3430
    @glowiak3430 11 місяців тому +16

    Make it a PR. They would commit a sin not accepting it.

    • @BlueIsLeet
      @BlueIsLeet 11 місяців тому +3

      Ik ur joking but obviously they cant change it at this point

    • @skaruts
      @skaruts 11 місяців тому +6

      Yea, unfortunately this is probably set in stone for the foreseeable future. They couldn't change it overnight. They would have to warn the community in advance that, say, version 6 would be 0-indexed. And then they'd have to set a team aside to keep working on versions 5.x for years, like python did with 2.7, because there's a whole ecosystem out there that accounts for 1-indexing.

    • @BlueIsLeet
      @BlueIsLeet 11 місяців тому +3

      @@skaruts I don't think there's any realistic path to changing the indexing at this point. That's a reason why I don't really use Lua, not enough batteries included like Golang or Java/Kotlin and weird design decisions

    • @skaruts
      @skaruts 11 місяців тому +6

      @@BlueIsLeet Lua doesn't have weird design decisions apart from 1-indexing. Unlike python...
      But yea, I don't see it changing any time soon either. That said, while 1-indexing is a perpetual rock-in-the-shoe, all the merits of Lua really make it worth resigning to live with 1-indexing.
      Batteries it could never include, because Lua was made to be an auxiliary language, where the host application provides the batteries. If it provided batteries, it would become bloated, and it would prevent the host applications from providing them in their own optimal way.

    • @samuelwaller4924
      @samuelwaller4924 11 місяців тому

      ​@@BlueIsLeetyou dont use lua because you can't mentally add 1 to array indices. Alright sure

  • @anon_y_mousse
    @anon_y_mousse 11 місяців тому +20

    I'm not going to say it's better, because it's really just a different way of doing things, but Vim makes it pretty easy to add keywords for highlighting. I defined null as an alias for NULL that I use in my header for every project, and I just added it to the list of keywords and it was highlighting from then on. The weird error you had when trying to compile later was that you added 'a' to the start of lua_load() at around the 41:00 mark.
    As for adding 0-based indexing, I'd name it Lua++ and use .lpp for the file extensions to differentiate it. And as far as using a double block, you could either convert it into a for loop that runs twice, or convert it to a while loop and use a local inner variable to determine the exit condition of the loop.

    • @KleptomaniacJames
      @KleptomaniacJames 11 місяців тому

      I have a similar thing for vs, I use rust type names, have a special macro "loop" defined as "for(;;)"

    • @delibellus
      @delibellus 11 місяців тому +3

      I switched from Emacs to Vim because I didn't like configuring Emacs (Emacs distros don't solve this all the way for me, especially when I wanted to disable default stuff). Configuring syntax highlighting is one of my favourite things in Vim because it's so simple and yet so powerful. Probably one of the things that will make me stay for good.

    • @oblivion_2852
      @oblivion_2852 11 місяців тому +7

      I'd call it Lua-- because it's lua decremented from 1 to 0 xD

    • @siriusleto3758
      @siriusleto3758 11 місяців тому +2

      Id name Lu0

    • @anon_y_mousse
      @anon_y_mousse 11 місяців тому

      @@siriusleto3758 Out of all the options, this might be the best one.

  • @realdotty5356
    @realdotty5356 11 місяців тому +17

    Lua my beloved

  • @enderman4
    @enderman4 11 місяців тому +7

    Finally, arrays in Lua (tables reference)

  • @patfre
    @patfre 11 місяців тому +5

    I feel like this is just a dumb way of doing it. Lua basically treats an array as a key value pair so you could literally just say the key is 0, 1, 2… etc instead

    • @minamur
      @minamur 11 місяців тому +2

      it's been a while since i used lua, but iirc you *can* do that, but any standard function that expects an array won't recognize the zeroth index, e.g. # will return 1 less than the length.

  • @brivism
    @brivism 11 місяців тому +18

    "tylko jedno w głowie mam"... lua 5.1gram

  • @progfix
    @progfix 11 місяців тому +9

    You mentioned at the end you look into other open source projects from time to time. Which ones did you look into and found interesting?

  • @dtomvan
    @dtomvan 11 місяців тому

    2:05:34: This is not true, the ipairs function will index raw, starting from zero. Which "user-facing-value" for a starting index is used does not matter.

  • @whatevermait1
    @whatevermait1 11 місяців тому +7

    ...sometimes you gotta do "die Scheiße"

  • @CoolestPossibleName
    @CoolestPossibleName 11 місяців тому +2

    There should be a specification statement like in fortran to opt out of the 1 indexing of the array

    • @minamur
      @minamur 11 місяців тому

      that's one of the all time greatest bad ideas.

    • @CoolestPossibleName
      @CoolestPossibleName 11 місяців тому

      @@minamur I'd like to know why. I was talking about the "implicit none" thing

    • @jeffirwin7862
      @jeffirwin7862 11 місяців тому

      @@CoolestPossibleName fortran also has arrays that can start at any index, although the default is 1

    • @CoolestPossibleName
      @CoolestPossibleName 11 місяців тому

      @@jeffirwin7862 I'm not talking about fortran's array system. there's a specification statement called "implicit none" to get rid of implicit types. I think it will be great to have such specification statement to make the array start from 0 in lua. I'd love to know why it's a bad idea

    • @samuelwaller4924
      @samuelwaller4924 11 місяців тому +1

      ​@@CoolestPossibleNameits just not worth it it. Worst case, every program/library would have to check for what the index is set to, and act accordingly. Best case, it is block scoped and now you get to have the extra burden of having to add "index 0" or whatever to every single file or function, and the mental overhead of remembering that. And then you are still going to end up writing "startindex" everywhere because that's what happens in every language that does that. You literally just add 1 ffs is it that hard

  • @beegdigit9811
    @beegdigit9811 11 місяців тому +6

    Why fix something when it can fix itself:
    days = {[0]="Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}

  • @kirsanov2008
    @kirsanov2008 10 місяців тому +1

    I FKN LOVE THE POWER OF SIMPLICITY!!!

  • @awesomeguy11000
    @awesomeguy11000 11 місяців тому +1

    I wonder if it would have been possible to backup the lexerstate and effectively run the lexer over the double body twice to get the goto statements into the internal backpatching system.

  • @fabiokleis
    @fabiokleis 11 місяців тому +19

    Welcome to a Brazilian programming language.

  • @elirannissani914
    @elirannissani914 11 місяців тому +12

    Where can i find your emacs configuration?

  •  11 місяців тому

    "luac" must be the compiler: anything ending with "c" is a compiler, in classic UNIX style. Also --help says the output is "luac.out", similar to the default output file for the C compiler (gcc still does it that way) is "a.out".

  • @nashiora
    @nashiora 11 місяців тому +1

    With the complication of non-local jumps and `goto`, my first thought was to instead just transform `double` into `for i=1,2 do`, i.e. make double less a macro and more a loop so it plays nicely with the relative jumps. I probably would've done this from the start, but it's neat to see you took the code duplication approach first and found out interesting things about the byte code.
    (edit: I clicked post about 5 seconds before you mentioned the easy solution was to implement it as a loop, forgive me for my hubris haha)

  • @JamesSjaalman
    @JamesSjaalman 11 місяців тому

    The priority limit was first invented/discovered by Bob Floyd.

  • @1Iljo1
    @1Iljo1 11 місяців тому +3

    submit the pull request

  • @xarchist
    @xarchist 11 місяців тому +2

    Is the code for emacs lua-mode longer than the actual lua interpreter?

  • @F_A_F123
    @F_A_F123 7 місяців тому

    46:30 you're actually wrong here. Luná in Russian is inherited from Proto-Indo-European *lówksneh₂, and Latin lūna is inherited from the same Proto-Indo-European word. Those things are cognates

  • @shamsiddinavezov5045
    @shamsiddinavezov5045 11 місяців тому

    so by doing copy pasting, we can just add proper Table thing, like there is default Table that starts from 1 and properTable that starts with 0) no codebase in the world will be broken that way I guess

  • @bhavyakukkar
    @bhavyakukkar 11 місяців тому

    55:17 i know some devs who have a very different meaning for what "high-level" is lol

  • @MyriadColorsCM
    @MyriadColorsCM 11 місяців тому +2

    Impressive, very nice.
    Now lets see Paul Allen's fix for Javascript.

  • @ivanjermakov
    @ivanjermakov 11 місяців тому +1

    Lua's design is focused on embeddability, so all main does is that it prepares interpreter/bytecode VM and starts file execution.

  • @Radgerayden-ist
    @Radgerayden-ist 11 місяців тому +10

    Hi tsoding now that you've got some Lua experience you should check out the löve framework, it's very similar to raylib in a lot of ways but focused on lua

    • @skaruts
      @skaruts 11 місяців тому +2

      And really competent in terms of performance. Although in part it's also LuaJIT being really competent at that too.
      There's also a 3D lib for Love2d in the works, called 3DreamEngine, and it performs really great too.

    • @SlinkyD
      @SlinkyD 11 місяців тому

      I watch Eskil's data visualization prototype vid every few months. Imma trash programer but his & this.channel gives me motivation to rise to mediocre dev.

    • @siriusleto3758
      @siriusleto3758 11 місяців тому

      And Bitty Engine

  • @daltonyon
    @daltonyon 7 місяців тому

    TJ will be happy to see that the 1-based was fixed hahaha

  • @jordixboy
    @jordixboy 11 місяців тому

    Did Lua move to a register based machine ?

  • @adammontgomery7980
    @adammontgomery7980 11 місяців тому

    I'm amazed at the comments in this source code.

  • @Solemn_Lemon
    @Solemn_Lemon 11 місяців тому +1

    You fixed Lua? Why? It's part of the experience!

  • @stevenaguilera9202
    @stevenaguilera9202 11 місяців тому

    Do you know of any resources on how to write and build a website in Lua ?🙏

  • @cacheman
    @cacheman 11 місяців тому

    The Roblox people went off and wrote luau-lang which is an "improved lua". Remains to be seen if it'll gain any traction.

  • @azergante8268
    @azergante8268 11 місяців тому +1

    Can you hack into Rust and fix what’s wrong with it?

  • @logannday
    @logannday 11 місяців тому

    I’d love to see you write an lsp for porth

  • @test-rj2vl
    @test-rj2vl 10 місяців тому

    Lua devs should add compile time parameter to tell what the first element of array should be. So that I could make game whose scripting engine starts arrays with -2 or with 5.

  • @cobbcoding
    @cobbcoding 11 місяців тому

    when will neovim switch to hacked lua for config

  • @GRATHRRAM
    @GRATHRRAM 11 місяців тому +1

    no way bro just chacked lua

  • @seropigeorge
    @seropigeorge 7 місяців тому

    U are literally the best programmer Livestreamer on yt in my opinion

  • @boody8844
    @boody8844 11 місяців тому

    I was waiting for this for so long

  • @diegorocha2186
    @diegorocha2186 11 місяців тому +3

    You look like you just won a brand new skateboard or something like this lol kkkkk never saw someone so happy reading code (at least until minute 49:00 lol I'm still watching)

  • @norude
    @norude 11 місяців тому

    what if you jump *into* the double block?
    or even jump into a condition or a function or a loop.
    So basically goto is weird

    • @norude
      @norude 11 місяців тому

      what if you goto to a place inside the loop from inside the loop

  • @neededathrowaway1818
    @neededathrowaway1818 11 місяців тому +4

    What's the tool that lets Tscoding zoom in on the screen at any time? I've always wondered but can't find any info regarding it

    • @lukasaey
      @lukasaey 11 місяців тому

      it's on his github, zoomer i think it's called

    • @Radgerayden-ist
      @Radgerayden-ist 11 місяців тому +2

      It's a tool he wrote himself called "boomer" iirc

    • @anon_y_mousse
      @anon_y_mousse 11 місяців тому +1

      If you used KDE you could have it built-in already. I'm sure GNOME could do it too, if that's your flavor, but I don't use GNOME.

    • @SlinkyD
      @SlinkyD 11 місяців тому +1

      Alt+Mouse_Scroll got ya covered in XFCE.

  • @alexloktionoff6833
    @alexloktionoff6833 10 місяців тому

    Do you have plans for LuaJIT?

  • @kungfooman
    @kungfooman 10 місяців тому

    Whenever I used Lua, I used Luajit - what about that?

  • @hansdietrich1496
    @hansdietrich1496 8 місяців тому

    I had to translate a lot of matlab code (that is 1-indexed just like lua) into python/numpy code. Since then I have a very solid disgust against any 1-indexed language.

  • @PavelAShvedov
    @PavelAShvedov 11 місяців тому

    Waited for double block inside another double block

  • @orizach01
    @orizach01 11 місяців тому

    can you fix python and make True -> true, and False -> false

  • @qxqxqxqxq
    @qxqxqxqxq 11 місяців тому

    I literally though about zero indexed lua yesterday

  • @DoYouScribble2
    @DoYouScribble2 10 місяців тому

    Impressed. I agree, knowing & being able to follow logic is so much more important than the actual language itself. Instead of finding *int begin, end* with luaK_getlabel then looping through luaK_code, _I wonder if you can simply do_ *block(ls); block(ls);*

  • @douglaslima5199
    @douglaslima5199 11 місяців тому

    PUC - RIO, brasil mentioned let's go!!!

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 10 місяців тому

    00:00 new bookmark

  • @oyasumigabriel
    @oyasumigabriel Місяць тому

    Opa, Brasil mencionado.

  • @shaw-krowdashsabe2302
    @shaw-krowdashsabe2302 10 місяців тому

    can you do a tutorial of how to make a progeamming language in c++ im stuck

    • @TsodingDaily
      @TsodingDaily  10 місяців тому +1

      Bruh, you already have C++. Why reinvent another language?

  • @abdo01386
    @abdo01386 11 місяців тому

    I always wonder 🤔 if you are a typical introver programmer ?

  • @DobryWujaszekKun
    @DobryWujaszekKun 11 місяців тому

    > Doesn't fucking matter so that's important
    xDDDDD

  • @AshliBlattgold
    @AshliBlattgold 7 місяців тому

    rawr unprotected

  • @bart2019
    @bart2019 10 місяців тому

    And now, think of something useful to extend the language with...

  • @b-rosa
    @b-rosa 7 місяців тому

    "lua" is literally the Portuguese word for moon

  • @almpazel1486
    @almpazel1486 11 місяців тому

    how to join ur discord server?

  • @macchinarirustici
    @macchinarirustici 2 місяці тому

    Sadly I've never used Lua but, as soon as I heard "hacking it to make it better", I thought about the array thing. lol

  • @olusiooo2799
    @olusiooo2799 5 місяців тому

    Repair it, it is stoping length of table by nil

  • @labsendeyshent
    @labsendeyshent 11 місяців тому +1

    This lua-mode for emacs 💀

  • @HumanGamer
    @HumanGamer 11 місяців тому

    Can you work on your text editor again soon :) I really enjoyed that project.

  • @modley_the_m_guy
    @modley_the_m_guy 9 місяців тому +1

    guys i think he fixed lua

  • @hamzakhiar3636
    @hamzakhiar3636 11 місяців тому

    Now try to fix react

  • @samuelwaller4924
    @samuelwaller4924 11 місяців тому

    I was considering doing something similar to this for my capstone and this guy just sits down and does it in 2 hours lol. Talking the whole time as well. I spent an hour just getting to understand the parser an gave up lol

  • @JG-nm9zk
    @JG-nm9zk 6 днів тому

    didn't fix lua. You can't make arrays start from 0 because lua doesn't have arrays.

  • @umcanalsemvidanoyoutube8840
    @umcanalsemvidanoyoutube8840 2 місяці тому

    Lua best language ever ❤

  • @regfinley7111
    @regfinley7111 11 місяців тому

    @ 28:00 that was a gem in the rough

  • @hubstrangers3450
    @hubstrangers3450 11 місяців тому

    Thank you....

  • @rudolf-adamkovic
    @rudolf-adamkovic 11 місяців тому

    Next up: Fennel. :)

  • @SamArmstrong-DrSammyD
    @SamArmstrong-DrSammyD 11 місяців тому

    So… you made Lua-

  • @adr420
    @adr420 11 місяців тому +1

    I write my neovim config in lua

  • @lhpl
    @lhpl 11 місяців тому

    So the right fix is to allow any upper and lower index bounds. Please tell me that this is the fix, because if not, there's no reason to watch.

    • @anon_y_mousse
      @anon_y_mousse 11 місяців тому +1

      It actually already does that. The problem comes in when you manually loop.

  • @DimaTiunov
    @DimaTiunov 11 місяців тому

    Pogroming
    My life

  • @Myexpectationsarerealistic
    @Myexpectationsarerealistic 2 місяці тому

    You broke Lua. It doesn’t use Zero because it’s meant to be a machine independent scripting language.

    • @yardez5990
      @yardez5990 Місяць тому

      what zero/one based indexing has to do with language being machine independent?

    • @Myexpectationsarerealistic
      @Myexpectationsarerealistic Місяць тому

      @ oh, it was meant to be an introduction to computer programmer and computation. It also used to not have Boolean operations, which was more due to the inherent errors that they can cause if they’re improperly structured. I haven’t touched it in a while so I haven’t a clue if that still holds true.
      Lua is an excellent first language, and it’s the original Machine Learning language. It’s also stupidly fast, can have embedded C and ASM as well as run concurrently properly. Things Python can’t do.

  • @adelarsq
    @adelarsq 11 місяців тому +2

    Lua++ lmao

  • @outofranger
    @outofranger 15 днів тому

    he fixed lua I hawk tuah

  • @petromudrievskyj
    @petromudrievskyj 11 місяців тому

    Jebated. You've actually only broken things

  • @bobtheoutbuilder8552
    @bobtheoutbuilder8552 11 місяців тому

    Almost 100k wtf

  • @blackhaze3856
    @blackhaze3856 11 місяців тому

    Tsluading

  • @glowiak3430
    @glowiak3430 11 місяців тому +1

    31:04 Look at this code. "chunkname" is a CONST char, and yet, few lines below its value is altered. Great job, lua devs. Lots of laught.

    • @anon_y_mousse
      @anon_y_mousse 11 місяців тому +6

      It's a const char *, not a char * const. Modifying what it points to is neither bad nor a bad idea when it's passed a null pointer.

    • @glowiak3430
      @glowiak3430 11 місяців тому

      @@anon_y_mousse Yes, but why make it const then?

    • @sproccoli
      @sproccoli 11 місяців тому +2

      @@glowiak3430 c's type signatures are weird. what the type means is "this points to (a sequence of) constant characters". it does not mean that the value of the variable is itself, the pointer, is constant.
      I am sure this is about as clear as mud but i don't think i can explain it any better without diagrams and more words.

    • @anon_y_mousse
      @anon_y_mousse 11 місяців тому +1

      @@glowiak3430 Because the contents of the string aren't meant to be modified by the function. If you want the pointer and what it points to to both be const, then const char * const is what you want, but you generally don't really want that, especially when passing strings to functions.

    • @IgnacioLosiggio
      @IgnacioLosiggio 11 місяців тому +6

      don't change the chars behind this pointer: `const char*`
      don't change this pointer: `char* const`
      don't change the chars behind this pointer nor the pointer: `const char* const`

  • @siriusleto3758
    @siriusleto3758 11 місяців тому +1

    One of the reasons I love Lua is that the index starts at 1 😂

  • @siriusleto3758
    @siriusleto3758 11 місяців тому +2

    Lu0

  • @blastygamez
    @blastygamez 11 місяців тому

    Finally

  • @Paxsali
    @Paxsali 11 місяців тому +3

    That's the thing... I don't think you fixed Lua, Tsoding. Lua fixed you.

    • @joseoncrack
      @joseoncrack 11 місяців тому +1

      Yeah, but that makes a 2-hour long video. What can you say.