サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
2008年03月30日19:45 カテゴリLightweight Languages一日一行野郎 perl - ワンライナーの書き方入門 まあ、ruby のコマンドラインオプションって、Perl由来ですから。 Rubyでワンライナーを書く方法のまとめ まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。 というわけで、Rubyistにも役立つPerlのワンライナー入門です。 基本中の基本 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e 'print "Hello, World!\n"' Hello, worl
#とりあえずオープンソースではMP4/H.264は一番乗りかな? 先日の Re:RTMP(MP4/H.264)サーバをPure Rubyで書いた - @takuma104 log ですが,ソースコードを若干整形してオープンソース化しました。まだかなりテスト版な感じですが。名前ですが、あまり深く考えずにRubyIZUMIと名付けました。 Google Code Archive - Long-term storage for Google Code Project Hosting. subversionからチェックアウトするか、tarで持って来て展開かどちらかで。 使い方は,ほとんど先日のビデオと同じですが、若干コマンド名が違っていて、 $ ruby server.rb mp4file.mp4とかしてください。ブラウザでこのmp4を見るには、付属のplayer/Player.asをrascut
iTunes/iPod には曲のジャケット写真を表示する機能がある。 アートワーク(カバーアート?アルバムアート?)を表示する機能なんだけど これを手動で設定するのがすごく面倒なので 自動で設定する Ruby スクリプト(Windows Only)書いた。 iTunes のライブラリを全曲スキャンして曲ファイルの 横にある folder.jpg という名前のファイルをアートワークとして設定する。 folder.jpg を探してるのはエクスプローラで縮小表示にすると ジャケットっぽく表示されるので自分がそうしてるから。 # This script works Windows only require "win32ole" itunes = WIN32OLE.new("iTunes.Application") tracks = itunes.LibraryPlaylist.Tracks tot
[F2] で起動。 エディタに何か表示されるが、とりあえず無視。C-c k でkillする。(本当は何か設定した方が良いのだろう。) emacs の画面左に4つの枠(インタラクタ:Interactor)が現れる。上から、ディレクトリ枠・ソースファイル枠・メソッド枠・履歴枠。 初期設定 最初に作業フォルダを設定する。 M-x customize-option RET ecb-source-path RET で設定画面へ。 Ecb Source Path: の Path:に作業フォルダへのパスを、Alias:にその作業フォルダの名前を記す。 作業フォルダを追加したい時は、'INS'ボタンを選択する。 設定ができたら、'Save for Future Session'ボタンを選択して設定を保存する。 保存すると、ディレクトリ枠に作業ディレクトリが現れる。 設定は、Emacs の初期化ファイル(.
疲れた。そもそもrubyのリファレンスをEmacsから見たいだけなのに、なぜにどうしてこうも苦労しないといけないのか。 とりあえず、いろいろごちゃごちゃやってしまったんだけど、忘れないようにメモ。 インストールメモ 手順1ここから基本セット+リファレンスを落とす。wget http://i.loveruby.net/archive/refe/refe-0.8.0-withdoc.tar.gz tar zxvf refe-0.8.0-withdoc.tar.gz cd refe-0.8.0-withdoc/refe-0.8.0 ruby setup.rb config ruby setup.rb setup sudo ruby setup.rb install これでrubyのリファレンスを閲覧するためのrefeとリファレンスがインストールされる。 手順2次にEmacsで見るための rrse
僕の今での.emacsでは、こんな設定になっていた。 (add-hook 'ruby-mode-hook '(lambda () (setq tab-width 3) (setq indent-tabs-mode 't) (setq ruby-indent-level tab-width) )) タブ幅は3 インデントにはタブを使う インデントの幅はタブ幅と同じ(3) というわけ。 これで概ね不満はなかったのだけど、一つだけ、割と深刻な不満があって、 # ソース1 def hoge( hoge, fuga, hoho) hoge(a, b, c) end こんなインデントになってしまう。分かりやすくタブを可視化して書くと(.__がタブ。.がタブコードで__がそれによるインデント。^がインデント用のスペース) def hoge( hoge, .__.__.__^fuga, .__.__.__
手順 fcgiwrap (ファイル直接)を持っていって下さい。 FCGIWrap.each の中で CGI を load するだけで後は勝手にやってくれます。 例えば tDiary の index.rb を FastCGI化する場合は index.fcgiつくります。 中身はこんな感じ。 #!/usr/bin/ruby require 'fcgiwrap' FCGIWrap.each { load '/usr/share/tdiary/index.rb' } 制限事項 グローバル変数を(初期化せずに)使ってると対応できません 定数の代入に対応できません 関連情報 既存の CGI をそのまま FastCGI 対応に - まつもとさんによる継続バージョン。グローバル変数や定数の状態を全部初期化出来るので完全な対応ができる。ただ、どうも ruby の callcc が不安定です。 fcgiwra
gsubメソッドを使って、やってみました。他にも方法はありそうです。 CYG~/tmp% cat test_gsub_url.rb print "=" * 75, "\n変換前\n", "=" * 75, "\n" , ARGV[0] , "\n" str = ARGV[0].gsub(/(https?\:[\w\.\~\-\/\?\&\+\=\:\@\%\;\#\%]+)/){|x| "<a href='#{x}>#{x}<\/a>" } print "\n返還後\n", '-' * 75 , "\n", str , "\n" CYG~/tmp% ruby test_gsub_url.rb "abc日本語の http://yahoo.ne.jp efg https://google.ne.jp W EBサイト" ======================================
Rubyレシピブック 第2版 268の技に 「行単位にファイルを末尾から処理する」 というレシピがあったのだが、プログラムが非常に長い。( ̄□ ̄;) sysseekメソッドを使ってたりして、私にはちょっと難しい。 悔しいが、私にはこの種のプログラムを短時間でバグなしで作り上げる能力はない。 だけど、そもそも、Rubyだけで完結させようとするから、こんなにややこしいプログラムになるのではないだろうか。 というわけで、私が作ったショートプログラムがこれ。#!/usr/local/bin/ruby -Ku def tac(file) open("|tac #{file}") do |fp| while line = fp.gets print line #何らかの処理 end end end tac "hogehoge.txt"単にUNIXのtacコマンドをパイプオープンして、そこにデータを流す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く