Поддерживает ли Ruby дословные строки? - PullRequest
5 голосов
/ 20 октября 2008

Есть ли в Ruby поддержка (из-за отсутствия лучшего слова) неэкранированных (дословно) строк?

Как в C #:

@"c:\Program Files\"

... или в Tcl:

{c:\Program Files\}

Ответы [ 4 ]

8 голосов
/ 20 октября 2008

Да, вам нужно добавить в строку %, а затем один символ, обозначающий его тип.

То, что вы хотите, это %q{c:\program files\}.

В этой книге кирки об этом сказано красиво здесь, раздел - ввод с разделителями.

4 голосов
/ 21 октября 2008

Вы можете просто использовать одну строку в кавычках.

>> puts "a\tb"
a    b
=> nil
>> puts 'a\tb'
a\tb
=> nil
2 голосов
/ 20 октября 2008

Кроме% q {string}, вы также можете сделать следующее:

string =<<SQL
  SELECT * 
  FROM Book
  WHERE price > 100.00
  ORDER BY title;
SQL

Разделителями являются произвольные строки, обычно в верхнем регистре.

0 голосов
/ 20 октября 2008
mystring = %q["'\t blahblahblah]

Или, если вы хотите интерпретировать \t как табуляцию:

mystring = %Q["'\t blahblahblah]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...