LoginSignup
5
5

More than 5 years have passed since last update.

Pryで日本語リプサムとしてaozoraを使う

Last updated at Posted at 2015-12-25

モチベーション

Pryで適当な日本語文字列が欲しいときがたまにある。そう、たまになんだけど、ある。
英語じゃない日本語なんだと。リプサムじゃない夏目漱石なんだと。

aozora

さてみなさん青空文庫はご存知かと思いますが、なんとなんと青空文庫にある文字列がリプサムとして使えるgemがあるんですよ!

おおおお! :clap: :clap: :clap:

夏目漱石は!?こころは!?

Aozora.kokoro #=> "私はその人を常に先生と呼んでいた。だからここでもただ先生と書くだけで本名は打ち明けない。これは世間を憚かる遠慮というよりも、その方が私にとって自然だからである。私はその人の記憶を呼び起すごとに、すぐ「"

ある!最高!素晴らしい。

Pryで使おう

シンプルに使って見る。

pry-session
2.2.3 (main)> require 'aozora'
=> true
2.2.3 (main)> Aozora.kokoro
=> "私はその人を常に先生と呼んでいた。だからここでもただ先生と書くだけで本名は打ち明けない。これは世間を憚かる遠慮というよりも、その方が私にとって自然だからである。私はその人の記憶 を呼び起すごとに、すぐ「"

毎回requireするのはめんどくさいので.pryrcに書く。

.pryrc
require 'aozora'
# いなかった時のハンドリングはよしなにやってください

これですぐに使える。でももはやAozoraと打つのさえめんどくさい。
なのでこうする。

.pryrc
require 'aozora'

Aozora.titles.each do |title|
  define_method(title) do |size = 100|
    Aozora.public_send(title, size)
  end
end

これでそれぞれのタイトルですぐに呼べる。

pry-session
2.2.3 (main)> kokoro
=> "私はその人を常に先生と呼んでいた。だからここでもただ先生と書くだけで本名は打ち明けない。これは世間を憚かる遠慮というよりも、その方が私にとって自然だからである。私はその人の記憶 を呼び起すごとに、すぐ「"
2.2.3 (main)> kokoro 10
=> "私はその人を常に先生"

いい感じ!メソッド名は...名前的に滅多に被らないと思うし多分大丈夫!

まとめ

  • pryでいい感じの日本語文字列が欲しくなったときにはaozora!
  • メソッド定義しちゃうとすぐに使えて良いよ
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5