Что означает% w (массив)?

Строки с двойными кавычками более элегантны, потому что вам не нужно разбивать строку каждый раз, когда вам нужно вставить переменную (например, вы должны делать строки с одним кавычком).

Однако, если вам нужно вставить возвращаемое значение функции, это не может быть вставлено в строку с двумя кавычками - даже если вы окружите ее фигурными скобками!

//syntax error!!
//$s = "Hello {trim($world)}!"

//the only option
$s = "Hello " . trim($world) . "!";
786
задан the Tin Man 22 March 2016 в 17:20
поделиться

3 ответа

% w (foo bar) - это ярлык для ["foo", "bar"] . Это означает, что это обозначение для записи массива строк, разделенных пробелами, а не запятыми, и без кавычек вокруг них. Вы можете найти список способов написания литералов в quickref zenspider .

1202
ответ дан 22 November 2019 в 21:17
поделиться

Я думаю о % w () как о «массиве слов» - элементы разделены пробелами, и он возвращает массив строк.

Есть и другие % literals:

  • % r () - это еще один способ записи регулярного выражения.
  • % q () - еще один способ написать строку в одинарных кавычках (и может быть многострочным, что полезно)
  • % Q () дает строку в двойных кавычках
  • % x () - это команда оболочки
  • % i () дает массив символов ( Ruby> = 2.0.0)
  • % s () превращает foo в символ (: foo )

Я не знаю других, но может там кто-то прячется ...

452
ответ дан 22 November 2019 в 21:17
поделиться

% W и % w позволяют создать массив строки без кавычек и запятых.

31
ответ дан 22 November 2019 в 21:17
поделиться
Другие вопросы по тегам:

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