[RUBY] Rechercher des mots anglais depuis le terminal

introduction

Je crois que tout programmeur souhaite effectuer toutes les opérations depuis le terminal. (Comme emacs ne peut pas être utilisé, c'est un secret qu'il s'agit du groupe vscode)

Alors, recherchez la signification des mots anglais du terminal avec ruby.

Organisme du programme

ancienne version

dic.rb


system "curl -s https://ejje.weblio.jp/content/#{ARGV[0]} |grep main> ~/dic/tmp.txt"

File.open("#{Dir.home}/dic/tmp.txt", "r") do |f|
  f.readlines[0].match(/.*<td class="content-explanation .*\">(.*)<\/td>.*/)
  puts $1
end

system "rm ~/dic/tmp.txt"

Ligne 1: utilisez curl dans les appels système. J'utilise le dictionnaire Weblio anglais-japonais. Les arguments sont développés dans l'URL et réduits par grep. Écrivez-le dans ~ / dic / tmp.txt.

2ème ligne: ouvre le fichier précédent en mode lecture. Comme "~" n'a pas pu être utilisé dans la méthode .File, il est défini comme Dir.home.

Ligne 3: Lisez le fichier et extrayez la traduction japonaise à l'aide d'expressions régulières. Sortez-le.

Enfin, supprimez le fichier.

Nouvelle version

@scivola a souligné dans les commentaires. Je vous remercie.

dic.rb


result = `curl -s https://ejje.weblio.jp/content/#{ARGV[0]}`
puts result.match(%r{principale.*<td class="content-explanation .*">(.*)</td>}).to_a[1]

Je ne peux pas le décrire de manière aussi concise! J'ai réalisé que j'avais encore beaucoup à apprendre.

Ajouter un alias

config.fish


alias dic='ruby ~/dic/dic.rb'

Exemple d'utilisation

~ 
❯❯❯ dic dog
chien,(De chiens)雄、雄chien,くだらない人間、魅力のない男、醜い女、「ぶす」、やつ、くだらないもの、失敗作

Des mots bien sûr

~ 
❯❯❯ dic takecareof
Prends soin de ..., prends soin de ..., prends soin de ..., affronte ..., gère, survivre, se débarrasse de toi, vaincre, tuer

Le langage commun est également correct

~ 
❯❯❯ dic physique
natural philosophy、physics

Au contraire, la traduction anglaise est également ok

Recommended Posts

Rechercher des mots anglais depuis le terminal
Rechercher la chaîne de caractères B à partir de la chaîne de caractères A (nombre de doublons)
Problème de recherche linéaire pour les tableaux