• Jakylla@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    3
    ·
    10 months ago

    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
        10 months ago

        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
          ·
          10 months ago

          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?

    • grozzle@lemm.ee
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      10 months ago

      “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.