Поиск строк, часто встречающихся в коде, с помощью Google

Вопросы:

Как вы ищете небуквенно-цифровые символы при использовании Google?

Почему Google не всегда буквально интерпретирует строки, заключенные в двойные кавычки?

Что такое управляющий символ Google, например. как мне искать что-то, что содержит двойные кавычки?


Фон:

В настоящее время я изучаю Grails. Я читал Освоение Grails: сервисы Grails и Карты Google (кстати, это очень хорошая серия учебных пособий), когда я наткнулся на следующую строку кода:

def result = [:]

Глядя на окружающий код, кажется, что result определяется как какая-то карта, но мне нужно больше информации о том, что именно делает «=[:]».

Как найти подобное в Google?

Я попытался найти:

grails "[:]"

но это возвращает тот же набор результатов, что и поиск «grails».

Это происходит потому, что поиск только для:

"[:]"

не возвращает никаких результатов.

Спасибо за ваше время!


person Heinrich Filter    schedule 17.08.2009    source источник


Ответы (3)


[:] — пустая карта в Groovy

Вы можете узнать больше о картах и ​​коллекциях здесь или сосредоточьтесь на картах Groovy.

Я думаю, вы предполагаете, что Google собирается сделать простой «grep», где их инфраструктура больше настроена для поиска на основе лингвистической модели.

Вы можете попробовать Google Codesearch.

Я рекомендую вам открыть консоль Groovy (groovyConsole в командной строке, если у вас есть groovy setup) и поэкспериментируйте с картами и списками, чтобы освоиться.

person Colin Harrington    schedule 17.08.2009
comment
Спасибо @lael за указание на документацию! Однако мои вопросы об использовании Google остаются :( Вы говорите, что Google вообще не индексирует символы, отличные от буквенно-цифровых? Я всегда думал, что поисковые строки, заключенные в двойные кавычки, ищутся как есть (т.е. без применения какой-либо лингвистической логики)? - person Heinrich Filter; 18.08.2009
comment
См. google.com/support/websearch/bin/answer.py. ?answer=134479 В нем говорится, что: знаки препинания игнорируются (то есть вы не можете искать @#$%^&*()=+[]\ и другие специальные символы). Поиск Google по своей природе очень лингвистичен и поэтому не очень хорошо работает с кодом. При использовании Google вы ищете «слова», а не двоичные шаблоны, для которых можно было бы использовать grep или регулярное выражение. Я думаю, это одна из причин, по которой они запустили Google Codesearch. google.com/advanced_search?hl=ru - person Colin Harrington; 19.08.2009
comment
Ага, вижу. Это объяснило бы это. Спасибо за ваше время! - person Heinrich Filter; 19.08.2009
comment
+1 за поиск кода. Я считаю, что это позволяет вам использовать регулярные выражения для поиска. - person Mechanical snail; 09.10.2011

К сожалению, вы не можете искать не буквенно-цифровые символы в Google. Google удаляет символы, рассматривая их как пробелы.

Для этого вам нужно обратиться к поисковой системе, такой как SymbolHound, которая специально разработана для программистов. В первую очередь он индексирует StackOverflow, а индекс других сайтов программирования (форумы, сайты вопросов и ответов и т. д.) растет.

http://www.symbolhound.com

-Том [полное раскрытие: я соучредитель SymbolHound]

person tcf628    schedule 17.01.2012
comment
Мне нравится концепция вашей поисковой системы, хотя должен сказать, что я нахожу страницу результатов поиска трудной для чтения и бельмом на глазу. - person doelleri; 18.01.2012

Для поиска, связанного с кодом, на который Google обычно натыкается, я обычно использую duckduckgo. Например, он по крайней мере выводит что-то для [:], даже если это не всегда то, что вы ищете.

person doelleri    schedule 17.01.2012