white spaces matter ;)

0

W jakich plikach białe znaki mają znaczenie?

Z tego co wiem to:

YAML
Makefile
kod w Pythionie

6

Whitespace,
Haskell
Scala 3
JavaScript (jako wtf)

9

Częściowo w każdym (e 1 to nie to samo co e1 w żadnym znanym mi języku).

A tak bardziej to:

  • Haskell
  • Haml
  • Sass
  • LaTeX (podwójna nowa linia tworzy paragraf)

Poza tym wiele języków używa znaku nowej linii do zakończenia wyrażenia, np.:

  • Go
  • Ruby
  • Elixir
  • Lua
  • JS
1

ale w jakim sensie mają znaczenie? może łatwiej by było gdybyś napisał do czego ci to
bo tak to np w pliku worda czy txt mają znaczenie bo inaczej słowa się posklejają i tekst będzie nieczytelny
w binarnym mają znaczenie bo kod się źle wykona
w htmlu mają znaczenie bo zrobi się dodatkowy odstęp
w php mają znaczenie na początku bo nagłówki mogą zostać przedwcześnie wysłane
w zasadzie w każdym pliku chyba mają znaczenie?

jeśli chodzi o języki programowania i białe znaki na początku linii to czy osobiście tylko mi się to wydaje poronionym pomysłem?
ostatnio przepisuję sobie kod z pythona na język z klamerkami i czasem da się to zrobić linia po linii, dlatego kod pythona przekleiłbym sobie do kodu źródłowego i przepisywał linia po linii, ale przez wcięcia ciągle się gubię po skasowaniu linii czy kolejna linia miała być wewnątrz pętli czy może już poza i muszę non stop skakać pomiędzy plikami źródłowymi

3

JCL, COBOL
Ten pierwszy tylko dla hardcorowców.

2

Język Nim używa wcięć do markowania bloków kodu jak Python, ale zezwala tylko na spacje, użycie tabów to syntax error

Hint: used config file '/playground/nim/config/nim.cfg' [Conf]
Hint: used config file '/playground/nim/config/config.nims' [Conf]
.........................................................
/usercode/in.nim(2, 1) Error: tabs are not allowed, use spaces instead
2

Oprócz wymienionych jeszcze F#

0

Jak słusznie zauważył @obscurity najpierw należałoby się zastanowić co to znaczy, bo w ścisłym sensie, w każdym właściwie używanym formacie tekstowym jakieś białe znaki mają jakieś znaczenie. W praktycznie każdym języku programowania (nie liczę ezoteryków jak brainfuck czy whitespace) mają choćby takie znaczenie, że oddzielają symbole od siebie. Mają znaczenie czysto gramatyczne, ale jednak mają.
Wydaje mi się, że naturalne rozumienie tego pytania, i na takie zdaje się większość odpowiadać, to w jakim języku jest różnica między znakiem nowej linii, a dowolnym innym białym znakiem i/lub dowolna sekwencja białych znaków ma takie samo znaczenie jak pojedyncza spacja. Choć w sumie nie wiem czy to pierwsze tak bardzo, na pewno to jest przypadek jedynego języka, który przyszedł mi do głowy, a nikt go nie wymienił i jest to bash.

2
Miang napisał(a):

W jakich plikach białe znaki mają znaczenie?

— FORTRAN 77 i starszy, przed wprowadzeniem free-form (ale fixed-form jest chyba wciąż wspierany w nowszych standardach).

— Poza tym w każdym języku w którym są jednolinijkowe komentarze (np. // takie) znaczenie ma znak nowej linii, bo kończy taki komentarz.

— Dyrektywy preprocesora w C i C++ również są czułe na nowe linie, poza tym z tego co mi wiadomo muszą się zaczynać od początku linii, czyli np. to jest prawidłowe wcinanie dyrektyw:

#ifdef foo
#  define bar
#endif

ale nie to

#ifdef
  #define bar
#endif

(a przynajmniej kiedyś tak było, mogło się zmienić)

1 użytkowników online, w tym zalogowanych: 0, gości: 1