• Jakylla@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    3
    ·
    2 年前

    4 Spaces, then one tab, then 3 spaces, then 2 tabs, then 2 spaces, then 3 tabs…

    Python supports that (and I hate this)

      • Jakylla@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        2 年前

        Not any standard (and actually not at all something to do for real), but try it, it works

        def magic(a, b, c):
            if a > 0:
            	if b > 0:
            	   		if c > 0:
            	   		  return 'All positive'
            
            return 'Not all positive'
        
        print(magic(1,2,3))
        print(magic(-1,1,2))
        print(magic(1,-1,0))
        print(magic(-1,-1,-2))
        

        (you should be able to verify I used both tab and spaces f*cking bad way in this example, like I described)

        Output:

        All positive
        Not all positive
        Not all positive
        Not all positive
        
        
        ** Process exited - Return Code: 0 **
        Press Enter to exit terminal
        
        • realaether@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 年前

          That’s really interesting. So does that mean the interpreter just checks whether the current line is more indented, less indented, or equal vs. the preceding, without caring by how much?

    • cartoon meme dog@lemm.ee
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      2 年前

      “indentation is indentation!” (mr_incredible_cereal.jpg)

      it may look messy, but would you actually rather Python didn’t support some inconsistency when the intent is clear?

      being exact just for the sake of being pedantic isn’t useful.