タグ

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

  • ターミナルにデジタル式デカ文字を出力する「digi_moji」の紹介

    require "colcolor" str = "Languages: Python Lisp Ruby Perl Haskell Erlang" puts str.colco(:yellow, :blue, :magenta, :red, :yellow, :blue, :red) puts str.colco(:green, :blue, cyclic:true) puts str.colco(:red_bold, regexp:/ruby/i) puts str.colco(:black_magenta, cyclic:true, regexp:/^\w+|[A-Z]/) このデモ的なものを作って宣伝できないかと考えたわけです。 それで「digi_moji」なるツールが生まれました。 で、ステマをしたのですが… わかりやすいREADME.mdの書き方がわかりません。どうしたらいいで

    ターミナルにデジタル式デカ文字を出力する「digi_moji」の紹介
    udzura
    udzura 2014/08/05
    see also artii.gem https://github.com/miketierney/artii かなー
  • RubyのコードをFlipして暗号化する?

    前の記事で「twitter→ɹəʇʇɪʍʇのように英数字を180度回転して表示する」スクリプトをRubyで書いたのですが、実装が今ひとつでしたので、スクリプト自身に変換テーブルを持たせたシンプルな設計に書き直しました。Flippyという名前も付けました。 Gem化もしたので、gem install flippyで使うことができます。 flippy | RubyGems.org | your community gem host melborne/flippy · GitHub Flippyモジュールの使い方 FlippyモジュールはStringクラスにincludeするなどして使います。(flippyをrequireすればStringにincludeされるよう仕様を変更しました)。その場合、Stringに#flipおよび#unflipメソッドを追加します。flipは文字列を180度反転した

    udzura
    udzura 2013/01/30
    便利そう!
  • Ruby標準添付ライブラリcsvのCSV.tableメソッドが最強な件について

    ─ 問題1 ─ data.csvファイルには、5人のプレイヤー(Alice, Bob, Jimmy, Kent, Ross)が二種類のゲーム(gameA, gameB)をプレイした結果が次のような形で格納されている。各ゲームの平均点を求めよ。 data.csv player,gameA,gameB Alice,84.0,79.5 Bob,20.0,56.5 Jimmy,80.0,31.0 Kent,90.5,15.5 Ross,68.0,33.0 data = File.read('data.csv') headers, *scores = data.lines.map { |line| line.chomp.split(',') } scores # => [["Alice", "84.0", "79.5"], ["Bob", "20.0", "56.5"], ["Jimmy", "80

  • Rubyで配列から要素を1つ取り出す良い方法はありませんか?

    ─ 問題 ─ 次のファイルリストからgemspecファイルだけを抜き出し、それをgemspec変数で、残りをfiles変数でアクセスできるようにする簡単な方法を示しなさい。但し、gemspecのファイル名はプロジェクトによって変わりうることを考慮しなさい。 files = ['Gemfile', 'LICENSE.txt', 'README.md', 'Rakefile', 'bin', 'lib', 'maliq.gemspec', 'pkg', 'spec'] files = ['Gemfile', 'LICENSE.txt', 'README.md', 'Rakefile', 'bin', 'lib', 'maliq.gemspec', 'pkg', 'spec'] gemspec = files.delete('maliq.gemspec') gemspec # => "maliq

    udzura
    udzura 2012/12/28
    ちなみに、 (gemspec, *_), files = は、 (gemspec, *), files = だけでヨイのです @ Ruby193
  • 今年の冬休みに電子書籍であなたがRubyを習得しなければいけないたった一つの理由

    冬休みです。多忙なあなたがまとまった自由時間を取れる唯一のチャンスです。こんなときは、遊んではいけません。なぜならその消費方法があなたの未来を決定付けるからです。もちろん、家族や両親や犬の世話をしてもいけません。寝正月などもっての外です。それはあなたの未来のための時間なのです。 そう、この時間を使ってあなたは学習するのです。 今年の冬こそはプログラミング言語を習得するのです。なぜならプログラミング言語を習得すれば、お見合いのときに「LispとRubyを少々」という相手に対して臆することなく「ほほぅでは関数型にも興味をお持ちかな?」などと返すことができるのです。 プログラミング言語といったら「Ruby」です。なぜならそれは日人が作った言語だからです。国語の勉強をせずにいきなり外国語を学ぶ人はいません。事情はプログラミング言語の世界でも同じです。ですからまずは国産言語「Ruby」を学ぶべきな

    udzura
    udzura 2012/12/25
    凄い、超いっぱい種類がある……
  • RubyによるMarkdownをベースにしたEPUB電子書籍の作り方と出版のお知らせ

    「情報革命」とは何でしょうか。それはネットを介した大量情報の流入による社会生活の変化の連続のことです。情報革命の初期に始まる一つの変化は「見る変化」です。情報を最も効率的に処理できる人間の入力デバイスは「目」であり、そのための環境作りがまず構築されるでしょう。 スマートフォンが携帯電話を駆逐したのは、iPhoneのデザインが素晴らしかったからではありません。人々が大量の情報を処理するためには、非効率な「耳」デバイスを置いて、より効率的な「目」デバイスを活用する必要があったからです。 7インチタブレットの新製品投入が相次いでいます。これは何を意味し、何を駆逐するのでしょうか。そのフォルムを見れば答えは明らかでしょう。それはまさに「書籍」なのです。7インチタブレットは「アトムの読書」を「ビットの読書」にすべて置き換えようとしています。 スマートフォンは、話し言葉を文字化して見るためのデバイスと

    udzura
    udzura 2012/12/03
    なんだか色々凄い
  • Yet Another Ruby Graphviz Interfaceを作ったからみんなで大量のグラフを作って遊ぼうよ!

    (追記:2014-3-3) Gvizについてのまとめ頁を作りました。 Gvizの目次 - Rubyの世界からGraphvizの世界にこんにちは! このブログとかでたまに無向だとか有向だとかのチャートの方じゃないグラフが書きたいと思うことがあるよ。でまさかこのご時世で今更VISIOとかあり得ないからGraphvizのdotファイルを書くことになるんだけどDOT言語は制御構造を持ってないから結局より高級な言語によるインタフェースが必要になるよ。でRubyの出番ってことになるんだけどGithubで”graphviz ruby“で検索すると1200件以上ものリポジトリがヒットするんだよ。でこの中から適当なものを選んで使えばいいってことなんだろうけどさすがにこれだけあるとどれを選んでいいか全然わからないから結局The Ruby Toolbox当たりで”graphviz“にヒットする20件くらいの中か

    udzura
    udzura 2012/09/26
    うお〜良い / :main_printf が :main..:printf と書けても良さそう
  • Ruby脳が理解するJavaScriptのオブジェクト指向

    (追記:2012-12-15) 記事およびこれに続くその2,その3をまとめて電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、誤記の修正およびメディア向けの調整を行っています。 電子書籍Ruby脳が理解するJavaScriptのオブジェクト指向」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になります。購入すると、入力したメールアドレスにコンテンツのDLリンクが送られてきます。 購入ご検討のほどよろしくお願いしますm(__)m 関連記事: 電子書籍Ruby脳が理解するJavaScriptのオブジェクト指向」EPUB版をGumroadか

    udzura
    udzura 2012/09/10
    そういえばIEでの__proto__の代わりって何だろう
  • 1から始めるRuby (スライド版)

    ShowOffというRuby製のプレゼンソフトがあります。ShowOffではプレゼンスライドをmarkdownで書いて、Sinatraアプリとして簡単に実行できます。Sinatraですから当然、Herokuにも簡単にデプロイできます。 スライド版 プレゼンには全く縁はありませんが、スライド作りが面白そうだったので、1つ作ってHerokuにデプロイしてみました。ネタは1年くらい前にブログで書いた「1から始めるRuby」です。 「1から始めるRuby」 on Heroku 見てくれる人がいたらうれしいですが、現状ではSafariでしかスライドのコントロールがうまくできません。僕の環境(OSX Snow Leopard)のChromeおよびFirefoxではコントロールが効きません(但し、ページを開いた後ブラウザの戻るを押すことで自動再生はできます)。解決策ご存知の方おられましたら助けてください

    udzura
    udzura 2012/09/04
    > プレゼンには全く縁はありません もったいないと思います!
  • エラーメッセージから学ぶRack - 最初の一歩

    (追記:2012-12-25) 記事およびこれに続くRackの記事(全4)をまとめて電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、誤記の修正およびメディア向けの調整を行っています。 電子書籍「エラーメッセージから学ぶRack」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になります。購入すると、入力したメールアドレスにコンテンツのDLリンクが送られてきます。 詳細は以下を参照して下さい。 電子書籍「エラーメッセージから学ぶRack」EPUB版をGumroadから出版しました! 購入ご検討のほどよろしくお願いしますm(__)m Rac

    udzura
    udzura 2012/08/03
    ウオー良い / return って複数の引数を取れるのか……
  • RubyにおけるシーケンスはObject#repeatに任せなさい!

    Rubyにおいてシーケンス、つまり意味的に連続する要素の並びを簡単に生成するObject#repeatというものを考えましたよ!以前に考えたEnumerable#repeatを単にすべてのオブジェクトに拡張したものですけど。 class Object def repeat(init=true, &blk) x = self Enumerator.new do |y| y << x if init loop { y << (x = yield x) } end end end repeatは、そのレシーバオブジェクトを初期値として、渡されたブロックを繰り返し適用します。適用の結果はEnumeratorオブジェクトでラップされているので、遅延評価されます。 以下に、問題に答える形で使い方を見せますね。比較のためrepeatを使わない方法も適宜示します。 1. 初項1、公差2の等差数列の最初の2

    RubyにおけるシーケンスはObject#repeatに任せなさい!
    udzura
    udzura 2012/07/15
    便利なのも同意、そして名前、もっと良いのがあるかどうかみんなで考えたい感じするのも同意です……
  • 一生涯はてな記法しますか?それともMarkdownしますか?

    はてなダイアリー はてなダイアリーでははてな記法という、HTMLの簡略記法が使えます。この記法を利用することで簡単に整形された日記を書くことができます。私も6年間はてなダイアリーと、はてな記法のお世話になりました。 しかしはてな記法は、はてな独自の簡略記法なので他では使えません。従って一つの不安がよぎります。 この先もし10年、20年とブログを書き続けるとしたら、それははてな記法でいいのかと。 はてなダイアリーには別の不満もあります。次のようなものです。 HTML整形後の文章をローカル環境で確認できない。 記事に変更が生じてWeb上で直接編集した場合に、ローカルデータと内容が不一致となり、その管理が煩雑となる1。 あんなにサンプルがあるのに、イケてるデザインが見当たらない2。 基的にサイトが重い。 Github Pages + Jekyll そんな理由から私はGitHub PagesとJ

    udzura
    udzura 2012/05/07
    便利そう
  • 第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"

    udzura
    udzura 2012/04/27
    "実はEnumerable#grepにおけるパターンマッチも===で"、有益
  • これからRubyを始める人たちへ

    (追記:2012-12-03) 記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m 電子書籍「これからRubyを始める人たちへ」EPUB版 Rubyの特徴 Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する

    udzura
    udzura 2012/04/11
    今後この手の記事は RubyInstaller へのリンクを貼っておけばいいんじゃないの……。この記事に書いてある内容なら動くでしょうし
  • 1