Skip to content

Instantly share code, notes, and snippets.

@tily
Created June 14, 2011 23:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tily/1026181 to your computer and use it in GitHub Desktop.
Save tily/1026181 to your computer and use it in GitHub Desktop.
架空のアーティスト自動生成
# TODOS
PEOPLE = %w(ゴダール ソシュール ボブ・ディラン デビッド・リンチ ボードレール)
EVENTS = %w(ツアー 個展)
FEATURES = %w(研ぎすまされた感性 独特な世界観)
REPUTATIONS = %w(海外で高い評価を受ける)
def main
artist = Artist.new
artist.names
puts artist.names.join("・") + "(#{artist.age})"
print artist.jobs.join("。") + "。"
print "#{Time.now.year-artist.age}年生まれ。\n"
artist.points.each do |point|
end
end
require 'rubygems'
require 'faker/japanese'
class Artist
def names
return @names if @names
@names = [Faker::Japanese::Name.first_name.yomi, Faker::Japanese::Name.last_name.yomi]
@names.reverse! if rand(2) == 1
end
def age
@age ||= 25 + rand(10)
end
def jobs
return @jobs if @jobs
list = File.read('jobs.txt').split("\n")
@jobs = []
0.upto(1 + rand(2)) do
@jobs << list.slice!(rand(list.length))
end
@jobs
end
def points
return @points if @points
@points = []
1.upto(5) do
@points << Time.now.year - rand(age)
end
@points.sort
end
end
main
~/gist-1026181# ruby artist.rb
リサク・ミツジ(29)
システムエンジニア。ソムリエ。1982年生まれ。
~/gist-1026181# ruby artist.rb
ハラヤ・ヒロミチ(33)
石工。メイド。1978年生まれ。
~/gist-1026181# ruby artist.rb
シゲカズ・イシモタ(31)
セラピスト。海上保安官。1980年生まれ。
~/gist-1026181# ruby artist.rb
オオヌマ・トヨヒロ(28)
デザイナー。理学療法士。1983年生まれ。
~/gist-1026181# ruby artist.rb
フナキ・アキノリ(32)
ツアープランナー。俳優。1979年生まれ。
~/gist-1026181# ruby artist.rb
ミネ・ウマノ(33)
マッサージ師。獣医師。1978年生まれ。
~/gist-1026181# ruby artist.rb
エイセン・マンバ(26)
整体師。学生。漁師。1985年生まれ。
~/gist-1026181# ruby artist.rb
ビスマルク・ケイスケ(25)
ゴーストライター。商業。相場師。1986年生まれ。
~/gist-1026181# ruby artist.rb
シマヤ・サチヨ(25)
ディレクター。職人。1986年生まれ。
~/gist-1026181# ruby artist.rb
トリムラ・レンタロウ(31)
宇宙飛行士。小説家。石工。1980年生まれ。
require 'uri'
require 'open-uri'
require 'rubygems'
require 'nokogiri'
ENDPOINT = 'http://ja.wikipedia.org/wiki/'
PAGE_NAME = '職業一覧'
HEADERS = {'User-Agent' => 'iCab J/2.9.8 (Macintosh; U; PPC)'}
OUTPUT = 'jobs.txt'
out = File.open(OUTPUT, 'w')
src = open(ENDPOINT + URI.encode(PAGE_NAME), HEADERS).read
doc = Nokogiri::HTML.parse(src)
uls = doc.search('//h2/following-sibling::ul').to_a
uls = uls[0..-4]
uls.each do |ul|
ul.search('.//li').each do |li|
text = li.text.gsub(/\(.+?\)/, '')
text = text.gsub(/(.+?)/, '')
out.puts(text)
end
end
アナウンサー
アニメーター
暗殺者
医師
石工
イタコ
板前
イラストレーター
鵜飼い
宇宙飛行士
占い師
運転手
運輸業
映画監督
映画評論家
営業職
AV監督
AV女優
AV男優
絵本作家
演歌歌手
エンジニア
演出家
音楽家
外交官
海上保安官
カウンセラー
画家
学芸員
学者
学生
歌手
歌人
家畜人工授精師
看護師
監督
官僚
議員
脚本家
棋士 、 棋士
騎手
技術者
客室乗務員
救急救命士
きゅう師
教員
行政官
行政書士
グラウンドキーパー
グラフィックデザイナー
軍人
経営コンサルタント
経済評論家
警察官
刑務官
芸人
警務官
芸術家
芸能人
劇作家
検察官
建築家
建築物環境衛生管理技術者
ゲームクリエイター
工芸家
講談師
公認会計士
公務員
コメディアン
コピーライター
ゴーストライター
コンサルタント
コンセプター
裁判官
サウンドクリエーター
作業療法士
作家
作詞家
作曲家
サラリーマン
自衛官
歯科医師
司会者
歯科衛生士
歯科技工士
指揮者
詩人
システムエンジニア
実業家
思想家
児童文学作家
シナリオライター
司法書士
ジャーナリスト
社員
車掌
写真家
獣医師
柔道整復師
主婦
商業
小説家
消防官
職人
書家
新聞配達
心理療法士
審判員
政治家
整備士
随筆家
スタイリスト
スポーツ選手
声楽家
声優
船員
潜水士
速記士
社会保険労務士
宗教家
整体師
税理士
セラピスト
ソーイングスタッフ
相場師
僧侶
ソムリエ
大工
ダイバー
探検家
探偵
調教師
彫刻家
調理師
ツアーコンダクター
ツアープランナー
通関士
通信士
通訳
ディーラー
ディレクター
デザイナー
添乗員
陶芸家
投資家
動物看護士
登山家
鳶職
トラベルライター
トリマー
仲居
ナレーター
庭師
ネイルアーティスト
農家
ノンフィクション作家
内閣総理大臣
俳人
バイヤー
俳優
パイロット
発明家
花屋
パティシエ
はり師
バレエダンサー、振付家
版画家
ベイカー
美術家
美容師
評論家
ファイナンシャル・プランナー
ファシリティマネジャー
ファッションアドバイザー
ファッションデザイナー
風俗嬢
フードコーディネーター
不動産
フリーター
プログラマ
プロデューサー
文筆家
ペスト・コントロール・オペレーター
ヘルスボーイ
ホスト
弁護士
編集者
弁理士
保育士
法曹
放射線技師
放送作家
翻訳家
マッサージ師
マフィア
漫画家
漫画原作者
漫才師
宮大工
水先人
メイド
盲導犬訓練士
モデラー
モデル
ヤクザ
薬剤師
郵便配達員
洋菓子製造技能士
幼稚園教諭
落語家
理学療法士
理容師
漁師
臨床検査技師
歴史家
臨床開発
路面標示施工技能士
和菓子製造技能士
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment