タグ

ブックマーク / melborne.github.io (23)

  • 第3弾!知って得する12のRubyのトリビアな記法

    (追記:2013-08-16) 記事のトリビアを含む55のトリビアを以下の記事にまとめました。 知って得する!55のRubyのトリビアな記法 なぜかトリビア人気が再燃しているよ。 知って得する21のRubyのトリビアな記法 第2弾!知って得する12のRubyのトリビアな記法 これでみんながトリビア好きだということが分かったので、何とか絞り出して第3弾を書いたよ。ここでは第1弾、第2弾で使ったテクニックも使ってるから、知らないテクニックがあったら先に見てもらえるいいかもね。 1. Enumerable#each_with_object Enumerable#mapではブロックの代わりに&付きのシンボルを渡す技が知られているよ。 langs = ["ruby", "python", "lisp", "haskell"] langs.map(&:capitalize) # => ["Ruby"

    oppara
    oppara 2015/03/13
  • 第2弾!知って得する12のRubyのトリビアな記法

    (追記:2013-08-16) 記事のトリビアを含む55のトリビアを以下の記事にまとめました。 知って得する!55のRubyのトリビアな記法 半年くらい前にちょっとトリビアだけど、知っていると意外と便利なRubyの記法を21個紹介したよ。 知って得する21のRubyのトリビアな記法 ~ 21 Trivia Notations you should know in Ruby 今回はその第2弾だよ! ちょっと数が少ないけど、知らないものがあったらへーとかほーとか、得したとか言ってもらえるとうれしいよ。 1.Enumerator#with_index 任意のリストを標準出力するときに連番を同時に振るとしたら、普通はEnumerable#each_with_indexを使うよね。 names = Module.constants.take(10) names.each_with_index {

    oppara
    oppara 2015/03/13
  • Ruby製サードパーティライブラリgemのトレンドを知るには「BestGems.org」がベスト

    ─質問1─ Ruby製サードパーティライブラリ、要はgemで、何が人気なのかってこと、手っ取り早く知りたいんですけど。 ─回答1─ RubyGems.orgのstatsページを見てください。 ─質問2─ えっ?これだけ?この辺は万年上位で固定でしょ。もうちょっと俺の知らないバラエティに富んだものに出会いたいんだけど。俺、Rails用ないし。 ─回答2─ カテゴリー別ならThe Ruby Toolboxがあります。 The Ruby Toolbox - Terminal Coloring ─質問3─ あんた、俺の質問ちゃんと聞いてるの?カテゴリー別なんて言ってないし。それに、ここのカテゴリーってなんか俺的に信用ないんだよね。取りこぼし多いっていうか..。俺のgem出てこないっていうか..。 ─回答3─ GitHubTrendingでここ最近の人気リポジトリが分かります。 Trending

    Ruby製サードパーティライブラリgemのトレンドを知るには「BestGems.org」がベスト
    oppara
    oppara 2014/08/08
    Ruby製サードパーティライブラリgemのトレンドを知るには「http://t.co/4RII4TDfdQ」がベスト B!
  • カラム指向ターミナルカラーライブラリ「colcolor」にcyclicオプションを付けました!

    先日、カラム指向ターミナルカラーライブラリ「colcolor」というのを公開しまして。 Yet Another Terminal Color for Ruby: Colcolorの紹介 colcolor colcolorはStringクラスにcolcoというメソッドを挿します。colcoでは引数として複数の色名を受け取って単語区切りで文字を彩色します。こんな感じです。 require "colcolor" DATA.each_line.with_index do |line, i| puts line.colco(:green, :yellow, :blue, :blue) puts "-".colco(:red) * line.size if i.zero? end __END__ lang year designer Ruby 1993 Yukihiro Matsumoto Lisp

    カラム指向ターミナルカラーライブラリ「colcolor」にcyclicオプションを付けました!
    oppara
    oppara 2014/07/28
  • 自分が公開しているgemの日々のダウンロード数が気になって寝られません。どうしたらいいでしょうか(Yawhoo知恵袋)

    質問 【ID非公開さん】 RubyGems.orgでいくつかのチンピラgemを公開してます。それらの人気度が気になって毎日サイトにアクセスしてます。サイトでは個々のgemの総ダンロード数はわかるんですが、僕が知りたいのは、今日どのgemがどれくらいダンロードされたかなんです。これって、知る方法ないですか? ベストアンサーに選ばれた回答 【melborneさん】 「Mygegegems」というgemを使ってください。使い方を説明します。 Mygegegemsの使い方 ターミナルを開いて、gem install mygegegemsでインストールが完了したら、次のようにしてローカルデータをアップデートします。 % mygegegems update Your gems data updated!(/Users/keyes/.mygegegems.yaml) 初めてupdateを実行するとあなた

    oppara
    oppara 2014/07/14
  • チリドッグでRubyのヒアドキュメントを良くしよう!

    プロジェクト体でヒアドキュメントを使うことはそんなに多くはないんですが、これがテストでは意外と使われるということがわかってきまして。そうすると、どうしてもこの醜さには耐え難いものがあるんです。 describe ATool::CLI do before do @expected = <<-EOS Hello, Ruby! I'm Here with Dog! Where are You? EOS end ... end

    oppara
    oppara 2014/06/30
  • RubyのHashの秘密

    このHashは普通のHashのように使えるんだけど、そこに機密情報をセットするためのHash#secret=というメソッドを追加するんだ。 h = {} h[:name] = 'Charlie' h[:job] = 'Programmer' h # => {:name=>"Charlie", :job=>"Programmer"} h.secret = 'My-password123' # 機密情報をセット!

    oppara
    oppara 2014/06/11
  • earthquake.gemで絵文字ツイート

    「earthquake.gem」には「emoji.rb」プラグインがあるので簡単に絵文字ツイートができます。gem install named_emojiした上でearthquake上で :plugin_install https://gist.github.com/jugyo/2551072 すればセットアップが完了します。 そろそろ帰って :beer: するか などと打てば:beer:のところが🍺に変わってツイートされます。また :emojis で絵文字の一覧が表示できます。タブ補完が使えるので文頭以外で:beなどとしてTABすれば該当候補がリストアップされます。 使える絵文字は500個くらいはあると思いますが、それじゃ足りないという人はこれをForkした僕の「emoji.rb」を使います。870個くらいの絵文字が使えるようになります。 こちらはemotというGemに依存していますの

    oppara
    oppara 2014/06/01
  • earthquake.gemで逆さ書きツイートとか縦書きツイートとか

    昔作った「flippy gem」を元に、「earthquake.gem」用のflip.rbというプラグインを書きました。 gem install flippyした上で :plugin_install https://gist.github.com/melborne/31f81cc17084a0aea7d7 とすれば:flipコマンドが使えるようになります。 オプション無しで逆さ書き、-rオプション付きでそれをさらにリバース、-vオプション付きで縦書きを出力します。 :flip twitter # => "ɹəʇʇᴉʍʇ" :flip -r twitter # => "ʇʍᴉʇʇəɹ" :flip -v FOO\\BAR++ by vertical # => "B F" "A O" "R O by vertical" 縦書きの区切りは\\か全角空白で、例のように++以降は横書きに戻ります。

    oppara
    oppara 2014/06/01
  • GitHubで使える絵文字Emojiが何か分からないとき😖(Mac向け)

    またEmojiネタで恐縮ですが😓、emotというMacのターミナル💻で絵文字を表示するためのGem💎を作りましたので紹介します😃 emot | RubyGems.org | your community gem host melborne/emot Web⛅️にある「Emoji cheat sheet for Campfire and GitHub」のMacターミナル版ですね。 Ruby絵文字を扱うツールには既にGitHub🐙🐱社の「gemoji」というのがあるのですが、これは絵文字imageを含んでいて軽量でなく、とりあえずMacで使えればいいという自分の需要には合わず、またjugyo👶さんによるMacでの使用を前提にした軽量な「named_emoji」というのがありましたが対応絵文字が少し少なくまたunicodeも表示したかったので、別途作ることにしました。 絵文字とそ

    GitHubで使える絵文字Emojiが何か分からないとき😖(Mac向け)
    oppara
    oppara 2014/05/19
  • Procを制する者がRubyを制す(嘘)

    RubyのProcの説明は巷に溢れているから今更感があるけどここ数回Procを使ったネタを書いていたらProcがかわいくなっちゃってもっとみんなにもProcのこと知ってもらいたいという欲求が生まれてきたからProcについての基的なことを僕なりのやり方でここに書くよ。長いよ。 Rubyの関数(メソッド) Rubyにおいて関数(メソッド)はファーストクラス(オブジェクト)ではありません。つまり文字列や数字や配列などの他のオブジェクトとは異なって、Rubyではそれを直接変数に代入したり、他の関数に渡したりすることはできません。 def square(n) n * n end sq = square # squareメソッドを変数sqに代入してみる # ~> -:1:in `square': wrong number of arguments (0 for 1) (ArgumentError)

    Procを制する者がRubyを制す(嘘)
    oppara
    oppara 2014/05/01
  • 30分のチュートリアルでJekyllを理解する

    (追記:2013-05-20) 記事はJekyllバージョン0.12.0に対応しています。Jekyllバージョン1.0のリリースに伴い、記事を改訂した記事を投稿しましたので、最新版に対応したチュートリアルについてはそちらを参照下さい。 “Jekyllいつやるの?ジキやルの?今でしょ!” (追記:2012-12-07) 記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、メディア向けの調整および誤記の修正を行っています。 電子書籍「30分のチュートリアルでJekyllを理解する」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になりま

    oppara
    oppara 2014/01/28
  • Jekyllいつやるの?ジキやルの?今でしょ!

    す、すいません… ベタなタイトルで…。 Jekyll Version 1.0 2013年5月5日にJekyllのVersion 1.0がリリースされました。 Jekyll • Simple, blog-aware, static sites Jekyll 1.0 Released - Musings of Parker J. Moore 2011年12月のVersion0.11.2以降、Jekyllの開発は停滞気味でした。しかし、parkr (Parker Moore)氏がJekyllのcontributorとして参加したことを機に、昨年12月15日頃から新たな胎動が始まり、同22日に大きな問題を解決したVersion0.12.0がリリースされました。その後も怒涛の勢いでコミットが投げられ、遂に、5月5日にVersion 1.0がリリースされたのでした。GithubにおけるCommit A

    oppara
    oppara 2014/01/08
  • あなたのプロジェクトを美しく視覚化する

    (追記:2013-11-01) DirFriendのバージョンアップについての記事を書きました。 あなたはファイルシステムに美を見るか? プロジェクトにおけるディレクトリ構造をさっと把握したいという欲求があります。そういうときは通常treeします。 % bundle gem gem_project -bt % tree gem_project gem_project ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── bin │   └── gem_project ├── gem_project.gemspec ├── lib │   ├── gem_project │   │   └── version.rb │   └── gem_project.rb └── spec ├── gem_project_spec.rb └

    oppara
    oppara 2013/10/31
  • はてなブックマークの人気エントリーもターミナルでみたいよね - ブクマ取得APIをRubyで使う

    自分のブログの人気エントリーは、はてなブックマークのエントリーリストにサイトのURLを投げることで見ることができます。例えば、このブログ(hp12c)における人気エントリーを見るにはブラウザで以下にアクセスします。 http://b.hatena.ne.jp/entrylist?sort=count&url=http://melborne.github.io 人気記事上位20件が表示されます。ここでsortのパラメータにeidを渡すとブクマされたすべての記事から新着20件が表示され、またhotを渡すとブクマ3件以上の新着20件が表示されます。 ところでこれには対応する非公式のAPIがあってプログラムからアクセスが可能です1。 小粋空間: JSONP: 2012年6月 アーカイブ そうとなればRubyでアクセスしない手はないですよね。ちょうどこのブログはギットハブにおける諸事情によりドメイン

    oppara
    oppara 2013/10/31
  • Rubyのソースディレクトリも視覚化してみる

    (追記:2013-11-01) 機能をGem化しました。良かったら使ってみてください。 あなたのプロジェクトを美しく視覚化する 前の前の前の記事でCRubyのクラスツリーをGraphvizを使って視覚化した。 RubyユニバースをGraphvizで視覚化する 前の前の記事でRubiniusのクラスツリーをGraphvizを使って視覚化した。 Rubiniusユニバースも視覚化してみる 前の記事でJRubyのクラスツリーをGraphvizを使って視覚化した。 JRubyユニバースも視覚化してみる そうしたら今度はRubyのソースのディレクトリ構造も見てみたくなったのでやってみることにした。 F・Dクラスの定義 Ruby組み込みのFileクラスとDirクラスを使ってRubyのソースディレクトリをトラバースしてもいいけれど折角だからファイルとディレクトリを表現する専用のオブジェクトを作ってそれ

    oppara
    oppara 2013/10/31
  • Rubyにおけるスコープのおはなし

    今ここで「首相は誰?」と言ったら、答えは「安倍晋三」になります。ジュネーブの国際会議で「首相は誰?」と言ったら、答えは「不定」になります。しかし世界統一国家なるものが存在しうるなら、そこでの答えは「バラク・オバマ」になります。 つまり「首相」という語は環境依存です。 「首相」における環境依存性を排除する一つの方法は、それに名前空間、つまり対象限定子を付けることです。「日の首相は誰?」「世界統一国家の首相は誰?」と言えば、どんな環境にあろうとも「首相」という語が指す対象は一意です1。 Rubyの定数 Rubyにも名前空間の機能があるので、環境依存性を排除した首相を実装できます。 class Japan PrimeMinister = 'Shinzo Abe' end class UK PrimeMinister = 'David Camelon' end class Germany Pri

    oppara
    oppara 2013/09/25
  • メソッドの使い方もRubyに教えてほしい

    Rubyの世界には「RubyのことはRubyに聞け」という格言があります1。 この格言に従い、早速Arrayクラスがどんなメソッドを持っているかRubyに聞いてみます。irbを使います。 % irb irb> Array.instance_methods(false) => [:inspect, :to_s, :to_a, :to_ary, :frozen?, :==, :eql?, :hash, :[], :[]=, :at, :fetch, :first, :last, :concat, :<<, :push, :pop, :shift, :unshift, :insert, :each, :each_index, :reverse_each, :length, :size, :empty?, :find_index, :index, :rindex, :join, :reverse,

    oppara
    oppara 2013/09/04
    メソッドの使い方もRubyに教えてほしい
  • 更にもう一つの「るりま」の入り口 ─ Rbref

    - Q1 - Rubyのメソッド調べるのにいつも「るりま」開くんだけど、なんかいつもどこから辿って行ったらいいか迷うんだよね、オレ。階層が深いってか、全体構造が見えないってか。なんかこうもっとサクッと目的のメソッドに到達したいんだよ。 - A1 - コマンドラインツールなら標準添付の「ri」とか、日語対応の「ReFe」とかを使って下さい。Webツールなら「るりまサーチ」があります。 - Q2 - いやいや。あんたらみたいにメソッド名がちゃんと頭に入ってんなら苦労しないっすよ。どっちかっていうと、「文字列の前に文字列追加するやつなかったけ?」とか「2つの配列をインデックスの組の配列に組み替えるやつ、何て言ったっけ?」みたいな。こないだなんか、エラーの「rise」に結局たどり着けずじまい。オレが求めてるのはもっとオレ向け、要は素人向けのやつってことですよ。 - A2 - 「Ruby Refe

    oppara
    oppara 2013/08/30
    更にもう一つの「るりま」の入り口 ─ Rbref
  • 分別のあるRubyモンキーパッチャーになるために

    Rubyのクラスはオープンです。つまりRubyのユーザが既存のクラスを開いて自由に実装を弄ることができるのです。組み込みクラスとてその例外ではありません。 既存のクラスを開いてメソッドを追加したり再定義したりすることを、業界用語で「モンキーパッチ」といいます。モンキーパッチという語には明らかに批判的・軽蔑的ニュアンスが含まれていますが、多くのRubyistはそれにひるむこと無く良くモンキーパッチします。何しろドアはいつも開いてるんですからねぇ。 るびおのモンキーパッチ モンキーパッチャー「るびお」は、製作中のライブラリで多次元配列の要素に頻繁にアクセスする必要が生じました。これには通常、Array#[]または#atを使って次のようにアクセスします。 irb> arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] irb> arr[1][2] => 6 irb> a

    oppara
    oppara 2013/08/30
    分別のあるRubyモンキーパッチャーになるために