Что такое “p” в Ruby?

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

Интегрирующийся APC в PHP6 был обсужден здесь: http://www.php.net/~derick/meeting-notes.html#add-an-opcode-cache-to-the-distribution-apc

И существуют направления при установке APC на Травлении Debian здесь: http://www.howtoforge.com/apc-php5-apache2-debian-etch

44
задан the Tin Man 7 February 2014 в 04:32
поделиться

4 ответа

p () - это метод ядра

Он записывает obj.inspect в стандартный вывод.

Поскольку объект смешивается в модуле ядра, метод p () доступен повсюду.

Между прочим, его часто используют в режиме поэзии , что означает отбрасывание скобок. Фрагмент CSV можно записать как ...

CSV.open 'data.csv', 'r' do |row|
  p row
end

Он задокументирован здесь вместе с остальной частью модуля ядра .

80
ответ дан 26 November 2019 в 21:51
поделиться

Ядро № p является младшим братом отладки Ядро № помещает : оно более или менее работает точно так же, но оно преобразует свои аргументы, используя #inspect вместо #to_s .

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

Некоторые альтернативы Kernel # p : Kernel # pp (довольно print) из стандартной библиотеки pp и Kernel # y (YAML) из стандартной библиотеки yaml .

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

Почему бы не попробовать?

>> [1,2,3].each { |d| p d }
1
2
3
5
ответ дан 26 November 2019 в 21:51
поделиться

Другой вариант документации, который у вас уже есть в вашей системе, - это команда ri . В любой момент вы можете ввести: ri p или, если p определен во многих местах (что есть) для центральных команд, вы можете попробовать ri Kernel.p . Другие хорошие варианты: Array. <Любой метод> или String. <Любой метод> .

Если вы в конечном итоге установите кучу драгоценных камней, это сильно замедлится, но вы может найти драгоценный камень fastri, который невероятно ускоряет процесс поиска.

2
ответ дан 26 November 2019 в 21:51
поделиться
Другие вопросы по тегам:

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