2023-07-02にリリースされた3.0.3が最新リリースです。 スクリーンショット Rabbitについて
![Rabbit - Rubyist用プレゼンツール](https://cdn-ak-scissors.b.st-hatena.com/image/square/2305f1d4431c11b4981f8cde1d4e9dea61163322/height=288;version=1;width=512/http%3A%2F%2Frabbit-shocker.org%2Fimages%2Flavie.png)
もう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(/\[(.+?)\
今日、あるプロラムを複数のマシン上で走らせるために、あらかじめ各マシンの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
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
$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 部「評価」 第
最近、Javaを勉強したりしていて、RubyがJavaとの対比で昔より客観的に見られるようになったので、Rubyの記事を書きたいと思います。自分でも消化しきれていない話なので、反論は大歓迎です。 内容は、大クラス主義とダックタイピング、そして名前重要に関してです。 大クラス主義 Rubyの考えでよく言われるものに、大クラス主義があります。例えば、RubyのArrayは配列を表すクラスです。しかし、Arrayができることは、単純に値を複数持てるだけではありません。Arrayを調べてみると、popやpushやshiftやunshiftがあります。つまり、RubyのArrayはキューやスタックとしても使えます。一方、JavaのArrayやArrayListでは、配列の要素を扱うことはできますが、そのままではキューやスタックとしては使えません。Javaでキューやスタックが使いたいのであれば、例えば
WEB系技術屋の管理人が、ネット・デジタル中心に日歩をつらつら LinuxやらRuby、Javascriptなどなど記事を載せています 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
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のディレクトリにシンボリックリンクを貼る
Leopardの登場以降、Mac OS Xではスクリプティング言語環境のサポートが活発だ。それは、単に動作環境を標準インストールすることにとどまらず、CocoaやQuartzといった、Mac OS Xネイティブのフレームワークにアクセスする手段が提供されることで、デスクトップアプリケーションを作るための新しい道という位置づけがなされている。Rubyに関するものとしては、RubyからCocoaを含む様々なフレームワークへのブリッジを提供する、RubyCocoaが標準でインストールされている。 そして去る2月28日に、新しいRuby環境が登場した。MacRuby である。MacRubyの動機として挙げられているのは、RubyCocoaが抱えている問題を解決する、というものだ。RubyからCocoaへアクセスするという目的はRubyCocoaと同じものだが、その実装のアプローチはかなりユニークで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く