Author Topic: Чё меня бесит  (Read 668048 times)

0 Members and 1 Guest are viewing this topic.

Offline RawonaM

  • Posts: 43599
Reply #600 on: April 29, 2010, 19:11
А если у меня цикл и неизвестно, какой символ будет за слэшем?
Вместо экранирования первого символа всё равно будут нужны кавычки.
Я не представляю ситуацию, где нужно экранировать именно первый символ.
Откуда уже взялось про "именно первый" символ?

Offline Demetrius

  • Posts: 12352
  • Бес джинн фея колдунчик
Reply #601 on: April 29, 2010, 19:14
А если у меня цикл и неизвестно, какой символ будет за слэшем?
Вместо экранирования первого символа всё равно будут нужны кавычки.
Я не представляю ситуацию, где нужно экранировать именно первый символ.
Откуда уже взялось про "именно первый" символ?
А \ как раз и будет экранировать только первый символ.
«Честного не жди слова, // Я тебя предам снова»

Offline RawonaM

  • Posts: 43599
Reply #602 on: April 29, 2010, 19:20
А если у меня цикл и неизвестно, какой символ будет за слэшем?
Вместо экранирования первого символа всё равно будут нужны кавычки.
Я не представляю ситуацию, где нужно экранировать именно первый символ.
Откуда уже взялось про "именно первый" символ?
А \ как раз и будет экранировать только первый символ.
Хм... а где-то в каком-то месте вообще в любой программе он экранирует больше одного?!!

Offline Demetrius

  • Posts: 12352
  • Бес джинн фея колдунчик
Reply #603 on: April 29, 2010, 19:23
Ну вот, поэтому он и бесполезен в цикле. И вообще при обработке введённых пользователем данных.
«Честного не жди слова, // Я тебя предам снова»

Offline RawonaM

  • Posts: 43599
Reply #604 on: April 29, 2010, 19:25
Ладно, я потерял нить разговора :) Приду домой, поиграюсь с башем.

Offline myst

  • Posts: 35471
Reply #605 on: April 29, 2010, 19:29
Ладно, я потерял нить разговора :) Приду домой, поиграюсь с башем.
Глаза бы мои эти порождения сотоны не видели. :(

Offline RawonaM

  • Posts: 43599
Reply #606 on: April 29, 2010, 20:00
Шо-то вы оба гоняете. Если написать '\t' программа как коммандлайн аргумент получит сиквенс слэш и буква тэ. Если написать $'\t', то программа получит в качестве агрумента характер 0x09.
Все что между '' передается как есть. А если ставится доллар, то заменяются некоторые эскейпсиквенции.
А Вы попробуйте. ©

Если вкратце: echo \t выводит просто t. Где здесь логика — не знаю? ($'\t' передаёт таб, как и надо).
А в чем еще проблема? Мне щас негде пробовать, но какбе все ясно.
echo $'\t' напечатает таб, echo '\t' напечатает \t.
Равонам сказал, Равонам попробовал:

rawonam@rawonam-laptop:~$ echo '\t'
\t
rawonam@rawonam-laptop:~$ echo $'\t'
   
rawonam@rawonam-laptop:~$


Все правильно.

Претензии по поводу поведения \ не принимаются, такого вообще нет в определении. Единственная его функция - принятие последующего символа эз-из, никакой замены он не предполагает и никогда не предполагал. Замена последовательностей происходит исключительно в кавычках!

Reply #607 on: April 29, 2010, 20:01
Ладно, я потерял нить разговора :) Приду домой, поиграюсь с башем.
Глаза бы мои эти порождения сотоны не видели. :(
Ну ты с cmd поиграйся. Мы тебя назад ждем, это займет недолго :)

Offline Demetrius

  • Posts: 12352
  • Бес джинн фея колдунчик
Reply #608 on: April 29, 2010, 20:54
Ну ты с cmd поиграйся. Мы тебя назад ждем, это займет недолго :)
А может он PowerShell освоит?
«Честного не жди слова, // Я тебя предам снова»

Offline myst

  • Posts: 35471
Reply #609 on: April 29, 2010, 21:09
Равонам сказал, Равонам попробовал:

rawonam@rawonam-laptop:~$ echo '\t'
\t
rawonam@rawonam-laptop:~$ echo $'\t'
   
rawonam@rawonam-laptop:~$

Все правильно.
Ты решил таки захватить кресло Капитана Очевидность? :eat:

Reply #610 on: April 29, 2010, 21:10
Ладно, я потерял нить разговора :) Приду домой, поиграюсь с башем.
Глаза бы мои эти порождения сотоны не видели. :(
Ну ты с cmd поиграйся. Мы тебя назад ждем, это займет недолго :)
Ты наивно полагаешь, что я с ним не игрался? :)

Reply #611 on: April 29, 2010, 21:10
А может он PowerShell освоит?
Я его скачал ещё месяца 3 назад, до сих пор собираюсь. :(

Offline Demetrius

  • Posts: 12352
  • Бес джинн фея колдунчик
Reply #612 on: April 29, 2010, 21:29
А может он PowerShell освоит?
Я его скачал ещё месяца 3 назад, до сих пор собираюсь. :(
А в моей семёрке он был предустановлен...
«Честного не жди слова, // Я тебя предам снова»

Offline Алексей Гринь

  • Blogger
  • *
  • Posts: 24112
  • Gender: Male
Reply #613 on: April 29, 2010, 23:32
Скажите, кстати, как в коммандной строке виндовса сменить папку?

Писал и «cd имя папки», и «chdir имя папки», и относительными путями, и абсолютными, и капслоком, и без, и в кавычках, и без — ноль реакции. Задрало блин. Оно ещё не сохраняет историю ввода предыдущих сессий...
肏! Τίς πέπορδε;

Offline RawonaM

  • Posts: 43599
Reply #614 on: April 29, 2010, 23:36
Скажите, кстати, как в коммандной строке виндовса сменить папку?

Писал и «cd имя папки», и «chdir имя папки», и относительными путями, и абсолютными, и капслоком, и без, и в кавычках, и без — ноль реакции. Задрало блин. Оно ещё не сохраняет историю ввода предыдущих сессий...
cd "имя папки". не может быть ноль реакции.

Offline Алексей Гринь

  • Blogger
  • *
  • Posts: 24112
  • Gender: Male
Reply #615 on: April 29, 2010, 23:49
ОК, про относительные я нагнал (потому что разогнался), работает. Но абсолютные как (именно они нужны)?

По дефолту открывается в C:\Documents and Settings\Алексей

Пишу cd E:\Develop — остаётся в этой же, причём ошибку не говорит.
Если делать cd ..\ — то работает, да.

Мне в принципе это не так важно, я через виртуалку через линукс всем управляю :) Легче. Но я надеюсь, что Windows-таки не так плох.

Может, типа change drive комманду надо?

Quote
C:\WINDOWS>cd "E:\Develop"

C:\WINDOWS>cd "E:\Develo"
Системе не удается найти указанный путь.
肏! Τίς πέπορδε;

Offline RawonaM

  • Posts: 43599
Reply #616 on: April 30, 2010, 00:02
Quote
C:\WINDOWS>cd "E:\Develop"

C:\WINDOWS>cd "E:\Develo"
Системе не удается найти указанный путь.
Для каждого драйва есть своя рабочая директория, ты когда указываешь драйв он для него меняет, но сам рабочий драйв не меняется. Перейди в e:, увидишь, что директория сменилась.

Offline Juif Eternel

  • Posts: 3854
  • Gender: Male
Reply #617 on: April 30, 2010, 00:02
По дефолту открывается в C:\Documents and Settings\Алексей

Пишу cd E:\Develop — остаётся в этой же, причём ошибку не говорит.
Если делать cd ..\ — то работает, да.

Гринь, вы меня удивляете. Наберите C:\Documents and Settings\Алексей>E: и окажетесь в E.
А дальше с cd ...

Или я неправильно понял вашу проблему?
Mir lebn ejbik

Offline RawonaM

  • Posts: 43599
Reply #618 on: April 30, 2010, 00:06
По дефолту открывается в C:\Documents and Settings\Алексей

Пишу cd E:\Develop — остаётся в этой же, причём ошибку не говорит.
Если делать cd ..\ — то работает, да.

Гринь, вы меня удивляете. Наберите C:\Documents and Settings\Алексей>E: и окажетесь в E.
А дальше с cd ...

Или я неправильно понял вашу проблему?
Молодежь, досовские времена не знают  ;D

Offline Алексей Гринь

  • Blogger
  • *
  • Posts: 24112
  • Gender: Male
Reply #619 on: April 30, 2010, 00:08
Мда, два действия надо делать.

Про E: я знал, но забыл :) При то ли Нортоне, то ли Волкове я сидел, синий экранчик такой, внизу консоль, набигают гномы, можно грабит корованы. В Windows 3.1 надо было грузиться из него, что-то такое (почему-то бут был не сразу). Не помню уже. Не долго это было :)
肏! Τίς πέπορδε;

Offline Bhudh

  • Posts: 59072
  • Gender: Male
  • aka 蝎
    • Сайты по языкознанию
Reply #620 on: April 30, 2010, 00:12
Не надо никаких двух действий. Параметр /d позволяет сменить сразу и текущий диск, и папку.
Code: [Select]
c[h]d[ir] /d имя папкиПричём в XP по дефолту и пробелы в именах поддерживаются, никаких кавык не надо.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Offline Алексей Гринь

  • Blogger
  • *
  • Posts: 24112
  • Gender: Male
Reply #621 on: April 30, 2010, 00:21
Не надо никаких двух действий. Параметр /d позволяет сменить сразу и текущий диск, и папку.
А что мешало сделать это без ключей?
肏! Τίς πέπορδε;

Offline Bhudh

  • Posts: 59072
  • Gender: Male
  • aka 蝎
    • Сайты по языкознанию
Reply #622 on: April 30, 2010, 00:23
Видимо, какие-то проблемы с разными носителями данных у DOS. А потом просто поставили ключ (чтобы две команды не делать или ради обратной совместимости? :???).
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Offline Алексей Гринь

  • Blogger
  • *
  • Posts: 24112
  • Gender: Male
Reply #623 on: April 30, 2010, 00:38
Видимо, какие-то проблемы с разными носителями данных у DOS. А потом просто поставили ключ (чтобы две команды не делать или ради обратной совместимости? :???).
Ну как-то обратная совместимость с досом уже как лет десять неактуальна, а заменить cmd.exe PowerShell'ом сподобились только в семёрке.
肏! Τίς πέπορδε;

Offline Bhudh

  • Posts: 59072
  • Gender: Male
  • aka 蝎
    • Сайты по языкознанию
Reply #624 on: April 30, 2010, 00:44
ЯВУ для bat-файлов? ;D

Пока Билли подобился, кучу прог для win-скриптинга наваяли.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо