タグ

rubyに関するaslaのブックマーク (9)

  • Rabbit - Rubyist用プレゼンツール

    2023-07-02にリリースされた3.0.3が最新リリースです。 スクリーンショット Rabbitについて

    Rabbit - Rubyist用プレゼンツール
    asla
    asla 2013/01/20
  • Rubyの標準ライブラリStringScannerがすごい! - hythofの日記

    もう5日ですが、あけましておめでとうございます。 毎年新年の目標を立てるのですが、なかなか難しいものですね。けど、今年は頑張ります! さて、文字列処理に強いプログラミング言語と言えばPerlが有名ですがRubyもすごいんです。Rubyの標準ライブラリ「StringScanner」を使えばパーサをあっという間に書けるんです。 試しにWindowsでよく目にする「.ini」ファイルを読み込みRubyのハッシュに読み込むプログラムを書いてみます。 require "strscan" def parse_ini src section = { "" => {} } current = section[""] s = StringScanner.new(src) while !s.eos? case when s.scan(/\s+/) # nothing when s.scan(/\[(.+?)\

    Rubyの標準ライブラリStringScannerがすごい! - hythofの日記
  • Rubyでexpectを用いて複数マシンのssh鍵を収集 - 日々の報告書

    今日、あるプロラムを複数のマシン上で走らせるために、あらかじめ各マシンのssh鍵を収集しておく必要ができた。使用するマシンのssh鍵をほとんど持っていなかったため、マニュアルでするとなると毎回sshでログインしてyesって打たなきゃならない。そんなことはやっていられなかったので、Rubyのexpectライブラリを用いてyesって入力してくれるスクリプトを書いた。 ssh鍵を取得するためのスクリプトとして、今回は2つスクリプトを作成した。1つは汎用的で使いやすいexpect on Rubyなライブラリ。もう1つはそのライブラリを用いて複数マシンから連続的にssh鍵を収集するスクリプト。 最初の expect on Rubyライブラリは次の2つのページを参考に実装した。 Young risk taker.: Rubyのexpect.rbの使い方 http://www.ksky.ne.jp/~s

    Rubyでexpectを用いて複数マシンのssh鍵を収集 - 日々の報告書
  • Rubyのexpect.rbの使い方

    SSHでつないで何か操作を行ったり、パスワードの入力を自動化したり、対話形式のプログラムをプログラム中から利用する場合は、expectモジュールを使用するのが一般的です。 Rubyは標準ライブラリ中にexpect.rbが存在していますが、IO#exceptとしてIOのメソッドとして定義されていて、このままでは扱いにくいので、仮想端末を扱うPTYライブラリとあわせて使用します。 require 'pty' require 'expect' module Expect def spawn(cmd) puts "CMD: #{cmd}" if $expect_verbose PTY.spawn(cmd) do |r,w,pid| @input_stream = r @output_stream = w @child_pid = pid PTY.protect_signal do yield en

  • Rubyソースコード完全解説 / 青木峰郎

    $Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第

    asla
    asla 2012/12/26
    Ruby Hacking Guide がWeb で公開されているとは!
  • Rubyと大クラス主義とダックタイピング、そして名前重要 - ゆとRubyist日記

    最近、Javaを勉強したりしていて、RubyJavaとの対比で昔より客観的に見られるようになったので、Rubyの記事を書きたいと思います。自分でも消化しきれていない話なので、反論は大歓迎です。 内容は、大クラス主義とダックタイピング、そして名前重要に関してです。 大クラス主義 Rubyの考えでよく言われるものに、大クラス主義があります。例えば、RubyのArrayは配列を表すクラスです。しかし、Arrayができることは、単純に値を複数持てるだけではありません。Arrayを調べてみると、popやpushやshiftやunshiftがあります。つまり、RubyのArrayはキューやスタックとしても使えます。一方、JavaのArrayやArrayListでは、配列の要素を扱うことはできますが、そのままではキューやスタックとしては使えません。Javaでキューやスタックが使いたいのであれば、例えば

    Rubyと大クラス主義とダックタイピング、そして名前重要 - ゆとRubyist日記
    asla
    asla 2011/10/17
    この考察は面白い!メソッドの責任か!
  • Ruby入門5、正規表現まとめ~これからにRubyに乗り換えする人へ~ - むかぁ~ どっと こむ

    WEB系技術屋の管理人が、ネット・デジタル中心に日歩をつらつら LinuxやらRubyJavascriptなどなど記事を載せています mukaer.com # 正規表現 /patern/ スラッシュで囲む p = %r!patern! %表記 # 演算子 =~ 一致する !~ 一致しない # メタ文字 [abc] a b cとマッチ [a-z] abcdefg..zとマッチ [a-zA-Z] abcdefg..z ABC..Zとマッチ [^a] a以外の文字 \A 文字列の先頭 \Z 文字列の末尾 \nでマッチ \z 文字列の末尾 \nではマッチされない ^ 文字列の行頭 単語の先頭 !!文字列の途中でもマッチする!! $ 文字列の末尾 単語の末尾 !!文字列の途中でもマッチする!! . 1文字 \s スペース \S スペース以外 \d 数字 \D \d以外 \w 英数字と_ [0-9a

    asla
    asla 2011/05/16
  • Node.js+CoffeeScriptで書かれた「Pow」がカッコ良すぎる件:Rails Hub情報局:エンジニアライフ

    Ruby on Railsの生みの親、DHHが在籍する37signalsがMac OS X用のRackサーバ「Pow」をオープンソースで公開しました。ちょっとこれまでにない種類のプロダクトで、その使い勝手のシンプルさとアイデアに鼻血が出そうになりました。実装にNode.jsとCoffeeScriptを使っているというのも面白いです。 Powの売りは、「Zero-configuration」(設定要らず)ということで、複数のRails/Sinatraアプリをローカルで動かして開発するようなときに、仮想的なドメイン名を手軽に割り当ててアクセスできるようにしてくれる、というものです。インストールはcurlのコマンド一発で、 $ curl get.pow.cx | sh とするだけ。そして、RailsやSinatraなどのRackアプリのディレクトリをPowのディレクトリにシンボリックリンクを貼る

    Node.js+CoffeeScriptで書かれた「Pow」がカッコ良すぎる件:Rails Hub情報局:エンジニアライフ
  • 【レポート】「MacRuby」 - ひさしを借りて母屋を乗っ取るか? Mac OS Xの新たなRuby環境 (1) MacRubyとは何か? | パソコン | マイコミジャーナル

    Leopardの登場以降、Mac OS Xではスクリプティング言語環境のサポートが活発だ。それは、単に動作環境を標準インストールすることにとどまらず、CocoaやQuartzといった、Mac OS Xネイティブのフレームワークにアクセスする手段が提供されることで、デスクトップアプリケーションを作るための新しい道という位置づけがなされている。Rubyに関するものとしては、RubyからCocoaを含む様々なフレームワークへのブリッジを提供する、RubyCocoaが標準でインストールされている。 そして去る2月28日に、新しいRuby環境が登場した。MacRuby である。MacRubyの動機として挙げられているのは、RubyCocoaが抱えている問題を解決する、というものだ。RubyからCocoaへアクセスするという目的はRubyCocoaと同じものだが、その実装のアプローチはかなりユニークで

    asla
    asla 2011/02/18
    触ってみたいなぁ。
  • 1