Как я защищаю кавычки в пакетном файле?

Я наконец-то нашел ответ сам, вот код, который может перемещать карту без поворота.

@IBAction func button(_ sender: Any) {
    let camera = GMSCameraPosition.camera(withLatitude: 1.1111, longitude: 1.1111, zoom: mapView.camera.zoom, bearing: mapView.camera.bearing, viewingAngle: 0)
    mapView.camera = camera
}
5
задан Peter Mortensen 6 November 2013 в 08:43
поделиться

5 ответов

Поскольку Perl наполняет в Windows, я пытаюсь использовать обобщенное заключение в кавычки как можно больше, таким образом, я не заболел синдромом зубочистки склонности. Я сохраняю кавычки для материала, в котором нуждается DOS:

perl -e "print scalar localtime() . qq(\n)"

Если Вам просто нужна новая строка в конце печати, можно позволить -l переключатель делает это для Вас:

perl -le "print scalar localtime()"

Для других прохладных вещей можно сделать с переключателями, видеть perlrun документацию.

13
ответ дан 18 December 2019 в 06:24
поделиться

Для общих пакетных файлов под Windows NT +, ^ символ выходит из большого количества вещей (<> | и), но для кавычек, удваивание их творит чудеса:

C:\>perl -e "print localtime() . ""\n"""
Thu Oct  2 09:17:32 2008
2
ответ дан 18 December 2019 в 06:24
поделиться

Во-первых, любой ответ, который Вы получаете к этому, является определенным для команды, потому что оболочка DOS не анализирует командную строку как uniq, который каждый делает; это передает всю непроанализированную строку команде, которая делает любое разделение. Тем не менее, если использование/subsystem:console время выполнения C обеспечивает разделение прежде, чем назвать основным (), и большинство команд использует это.

Если приложение использует это разделение, способ, которым Вы вводите литеральную двойную кавычку, путем удвоения ее. Таким образом, Вы сделали бы

perl -e "print localtime() . ""\n"""
1
ответ дан 18 December 2019 в 06:24
поделиться

В "командной строке DOS" Windows (cmd.exe) необходимо использовать двойные кавычки не одинарные кавычки. Поскольку в заключенном в кавычки коде Perl, Perl дает Вам много опций. Три:

perl -e "print localtime() . qq(\n)"
perl -e "print localtime() . $/"
perl -le "print ''.localtime()"

Если у Вас есть Perl 5.10 или более новый:

perl -E "say scalar localtime()"

Благодаря J.F. Комментарий Sebastian.

8
ответ дан 18 December 2019 в 06:24
поделиться

В DOS Вы используете "" вокруг Вашей команды Perl. Оболочка DOS не делает одинарных кавычек как нормальная оболочка Unix:

perl -e "print localtime();"
1
ответ дан 18 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: