1.2, Антонимус (?), 22:50, 28/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +13 +/– |
> Обращение к массиву с нулевым индексом ("array[0] ") теперь приводит к ошибке (элементы массивов в fish начинаются с 1).
Фееричные инновации. Гениальный ход.
| |
|
2.4, anon123123123 (?), 22:59, 28/12/2018 [^] [^^] [^^^] [ответить]
| +4 +/– |
юзаю fish уже около года. отлично работает с коробки.
индекс с 1 - дичь, но есть объяснение
"Note that array indices start at 1 in fish, not 0, as is more common in other languages. This is because many common Unix tools like seq are more suited to such use. An invalid index is silently ignored resulting in no value being substituted (not an empty string)."
| |
|
|
4.25, А. (?), 12:02, 29/12/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Кажется, вы путаете fish как командную оболочку и fish как протокол передачи файлов через ssh в mc.
| |
|
5.26, Аноним (24), 12:08, 29/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Забавно, sh у обоих образузется от shell: Files transferred over shell vs friendly interactive shell
| |
|
6.33, Аноним (33), 21:41, 29/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Забавно, sh у обоих образузется от shell.
Брат! Не бойся видеть того, чего не видят другие!
Ты только в самом начале пути, но твое сознание уже пробудилось!
Это все не просто так. Доверься силе внутри тебя!
Ведь cp образуется от copy, mv - от move!
И, я знаю, ты чувствовал это но сомневался, mkdir - от make directory!
Если люди не поверят тебе - знай что их сознание еще спит!
Держись, брат, ты не одинок!
| |
|
|
|
|
2.10, AnonPlus (?), 01:55, 29/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
Насколько я понимаю, элменты и раньше начинались с 1, так что с сарказмом вы промахнулись
Просто раньше молча игнорилось обращение к нулевом элементу, а теперь будет ошибка.
| |
2.12, Аноним (12), 03:08, 29/12/2018 [^] [^^] [^^^] [ответить]
| +6 +/– |
В языках высокого уровня индексы и не должны начинаться с нуля, т.к. там они означают порядковый номер элемента в списке.
В низкоуровнеых, вроде си, индексация начинается с нуля, т.к. она означает не порядковый номер в списке, а смещение в памяти, по которому лежит элемент (что в ЯВУ с автоматическим управлением памятью смысла не имеет).
| |
|
3.17, vedronim (?), 05:09, 29/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> В языках высокого уровня индексы и не должны начинаться с нуля, т.к.
> там они означают порядковый номер элемента в списке.
> В низкоуровнеых, вроде си, индексация начинается с нуля, т.к. она означает не
> порядковый номер в списке, а смещение в памяти,
В нормальных высокоуровневых языках можно самому задавать диапазон индексов. В сишечке, если подумать, тоже можно было бы реализовать без оверхеда.
| |
|
4.18, trolleybus (?), 08:39, 29/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
Да и сейчас можно:
int* a = new int[10] - 1;
// code
delete[] a + 1;
PS1. Это не чистая сишечка, а плюсы, но роли не играет (malloc/free вместо new/delete, и готово)
PS2. Строго говоря, по стандарту это UB, но де-факто всегда работает (если только на какой-нибудь суперредкой и супердревней платформе не будет)
| |
|
5.29, Аноним84701 (ok), 13:40, 29/12/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Да и сейчас можно:
> int* a = new int[10] - 1;
> // code
> delete[] a + 1;
"Свой" диапазон индексов скорее о таком:
var somearr: array[-5..10, -10..0] of Byte;
begin
somearr[10][-5] := 37;
somearr[-5,-10] := 13;
end;
| |
|
|
3.21, Проходил мимо (?), 10:27, 29/12/2018 [^] [^^] [^^^] [ответить]
| –8 +/– |
> В низкоуровнеых, вроде си, индексация начинается с нуля, т.к. она означает не порядковый номер в списке, а смещение в памяти, по которому лежит элемент (что в ЯВУ с автоматическим управлением памятью смысла не имеет).
В Си индекс означает смещение в памяти??????????????
Уважаемый, Аноним, вы написали полный бред. Индекс - это именно индекс. А смещение в памяти будет Размер_элемента * index.
| |
|
4.22, Аноним (22), 10:59, 29/12/2018 [^] [^^] [^^^] [ответить]
| +2 +/– |
Никакого бреда. Индекс в C означает смещение в памяти. Чему смещение равно - совершенно другой вопрос.
| |
4.31, Урри (?), 17:06, 29/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
Щас я взорву твою голову, аноним - вот этот код в С абсолютно и полностью легален:
int x[6];
3[x] = 12;
| |
|
5.34, Аноним84701 (ok), 22:32, 29/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Щас я взорву твою голову, аноним - вот этот код в С
> абсолютно и полностью легален:
> int x[6];
> 3[x] = 12;
Ну дык:
A postfix expression followed by an expression in square brackets [] is a subscripted
designation of an element of an array object. The definition of the subscript operator []
is that E1[E2] is identical to (*((E1)+(E2))).
хотя выглядит эта "фича" скорее как очередной "привет" из добрых, старых, костыльных^W ламповых дней (т.е. "дырка"^W особенность реализации древних парсеров и т.д., которую уже никто не будет убирать из-за обратной совместимости)
А вообще, хватило бы более классического примера ;)
int x[6];
*(x + 3) = 1337; //особенности арифметики с указателями - работает без всяких "размер_элемента*индекс"
printf("Hello World %d",x[3]);
| |
|
|
|
|
1.3, Аноним (3), 22:51, 28/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
То есть некий неосилятор придумал свой POSIX-несовместимый синтаксис, а теперь понял что нахрен он такой никому не нужен и начал пилить совместимость?
| |
|
2.6, Омоним (?), 01:10, 29/12/2018 [^] [^^] [^^^] [ответить]
| –3 +/– |
И ведь не нашлось никого, кто б указал ему путь истинный. Давно мог бы благодатно башизмами обмазаться и достичь просветления через рач и zsh.
| |
|
1.5, Kaffeine (?), 00:45, 29/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
> В команде "cd" прекращена поддержка перехода по символическим ссылкам
Это как, вообще? Разработчики <s>не</s>вменяемые?
'cd /usr/src/linux'
| |
1.8, Аноним (8), 01:34, 29/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
юзал когда-то. Но потом надоело, что копируемые из интернета баш-команды нужно было вначале переводить на фиш.
Для неадекватов: нет, я не из тех, кто устанавливает нескучный софт через curl | bash. Речь о командах вроде "установите наш репозиторий пакетов через dnf install http://example.com/$(rpm -E %fedora)" -- и вот тут-то нужно переводить с популярного баша на нескучный скриптовый язык от васяна.
Для еще больших неадекватов: выдерните у себя клавиши Ctrl, C и V, и залейте в гнезда этих клавиш какой-нибудь триоксид серы, ну чтобы прекратить лицемерить и полностью отказаться от концепции копипастинга.
| |
|
2.13, Вы забыли заполнить поле Name (?), 03:15, 29/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
Вообще нужно на POSIX shell писать, чтобы было переносимо, особенно для простеньких скриптов установки зависимостей.
Также не понятно, почему не запусить bash и уже в нем указанные команды?
| |
|
3.16, Аноним (8), 04:27, 29/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
> почему не запусить bash и уже в нем указанные команды?
самый лучший интерфейс - тот, который не замечаешь. Я не хочу постоянно думать, "а в тот ли шелл я вставляю команды?" Хочется именно что один-единственный интерпретатор. Фиш конечно удобен, не спорю, вау-эффект достигается уже на первых минутах. Но в долгосрочной перспективе его конечно стоило сделать совместимым с башем. Я его бросил исключительно из-за того, что лингвой-франкой в юниксах является баш.
| |
|
4.28, fi (ok), 12:47, 29/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
Пользуюсь tcsh - никаких проблем с командами для bash из инета
| |
|
|
2.15, Аноним (15), 04:08, 29/12/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Вот прямо угадали мою мысль. Если по честному, то и bash в целом перегружен.
В целом наверное достаточно было бы просто уметь запускать (exec) процесс,
а то эти возможности предоставляют людям возможность писать кривые .sh сценарии
один только autotools чего стоит.
| |
2.20, 1 (??), 09:43, 29/12/2018 [^] [^^] [^^^] [ответить]
| +/– |
И клавиши Shift и Insert тоже выдёргивать ? O_o
| |
|
1.23, Аноним (23), 11:05, 29/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Напомню. Этот тот самый шелл, который считает что
> Configurability is the root of all evil
И поэтому все, что можно настроить в фише - цвета.
| |
1.36, Аноним (36), 06:31, 30/12/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
- Ставлю fish
- Набираю команду и вижу шелл делает подсказку автодополнением
- Нажимаю по привычке tab, что быстро завершить написание слова согласно подсказке
- Курсор отскакивает от половины слова вставляя таб-пробел как при редактировании текстового файла
- Удаляю fish на фиг и забываю навсегда.
| |
1.39, Monster (?), 11:33, 01/01/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
IMHO: авторам просто скучно и хочется запилить хоть что-нибудь. Но на серьёзное - не хватает тямы. Вот и развлекаются.
Обсуждать это вот - всё равно что спорить о соседском подростке, который сделал молоток с двумя ручками.
| |
|