В продължение на предишния ми въпрос, защо CShell е толкова различен от C?
- 4 - 3 + 1 = 2 in C.
- 4 - 3 + 1 = 0 в CShell.
Някакви идеи?
В продължение на предишния ми въпрос, защо CShell е толкова различен от C?
Някакви идеи?
Обикновено традиционната нотация е отляво надясно (ляво асоциативно) в човешките документи. Така че за хората (които са използвали тази нотация много преди c, csh или дори каквото и да е понятие за компютри):
4 - 3 + 1 = (4 - 3) + 1 = 1 + 1 = 2
Защо? Предполагам, че най-добрият отговор е защото. Това е същото като при шофиране от лявата или от дясната страна на пътя. Наистина няма значение от коя страна, стига всички да използват едно и също.
IMHO csh е грешен, тъй като е контраинтуитивен. Възможно е това да е грешка (те са искали ляво асоциативно, но кодирано погрешно) и да стане наследство, тъй като други неща вече зависят от това.
Различни хора написаха продуктите и имаха различни виждания за това как да се справят с изчисленията. И тъй като C Shell беше написан втори, мисля, че те са виновни, че не следват примера на номиналния родителски език.
/bin/csh
често е символна връзка),4 - 3 + 1
се оценява на2
. - person Keith Thompson   schedule 21.03.2013