トップページ⇒tech
1001コメント357KB

Ruby 初心者スレッド Part 23

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん2008/11/20(木) 04:30:21
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。

   【Ruby1.9 は不安定な開発版であり初心者には全く向きません】
   【最新安定版の Ruby1.8.7 の使用をお勧めします】
    ※1.8.7 は1.8 と 1.9 の橋渡しをするためのリリースです。
      1.9 の新機能の一部が利用可能なので初学者にお勧めです。
    ※ただし十分安定しているとは言えないので
      プロダクション環境での利用にはお勧めしません。

関連スレやURLは>>2-8あたりを見てください。Ruby on Railsの質問はRailsスレへ。

■質問する人へ
質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。
 ・モジュール名やエラーメッセージでググる
 ・マニュアルで引っかかったクラスの記述を探す http://www.ruby-lang.org/ja/man/
 ・FAQを一応読む http://www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ
質問には以下を書くこと。へたくそな質問は再提出を要求される。
 ・詳しい内容(「動きません」「うまくできません」では回答しようがない)
 ・エラーメッセージ(自力で訳さずなるべくそのままで)
 ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる))
 ・最終的にやりたいこと(もっとよい方法がある場合が多いので)
回答してくれた人には「ありがとう」のひとことをいってあげて。
■回答する人へ
相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。
それができないならこないこと(だって初心者スレだもん)。
 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
0893デフォルトの名無しさん2008/12/28(日) 14:31:06
状況を理解していない>>892がバカ
0894デフォルトの名無しさん2008/12/28(日) 14:31:36
「ご苦労なこと」はソースの存在の可否に影響ないだろwww
0895デフォルトの名無しさん2008/12/28(日) 14:33:07
少なくとも俺は
COBOLを調べるために本を買う気もないし
図書館まで行く気はもないw
0896ばかでもわかるようにかかないと…2008/12/28(日) 14:35:27
たぶん>>893は>>892のないようすらわかってないに1000まんぺりか
0897デフォルトの名無しさん2008/12/28(日) 14:36:36
>>894
ソースの存在を認めるかどうかは、それを自分で確かめたから言えることだろ。
本当ならソースを出されたら自分で確かめないといけない。
俺はどうでもいいから放置だけど。

だれかが(この場合>>881)が「ソースはこれ」って言っただけで信じる人は
ものわかりがよすぎですね。
0898デフォルトの名無しさん2008/12/28(日) 14:38:15
これがruby信者のレベルですw
0899デフォルトの名無しさん2008/12/28(日) 14:46:02
<a><b>ほげほげ</b></a>
<a><b><c>ふがふが</c></b></a>
<a><b>ほげふが</b></a>
こんな感じのコンテキストがあったとして
<c>ノード要素がある<a>ノード要素を選択したいときのXPath(REXML)がわからんのです。

’//c'とするとノードが<c>ふがふが</c>となるのですが
<a><b><c>ふがふが</c></b></a>となって欲しい。
'a[name()="c"]'としてもダメみたいで。(cノードを含むaノード、のつもり)

REXMLというよりXPathの質問みたいですが,よろしくどうぞ。
0900デフォルトの名無しさん2008/12/28(日) 14:48:15
>>897
> 自分で確かめないといけない。

それだからこそ「ご苦労なこと」はソースの存在の可否に関係ないじゃん。
0901デフォルトの名無しさん2008/12/28(日) 15:43:26
この業界では知れ渡ってしまったのですから、
いまさらこれをどうにかできるものではありません。
それならば、むしろ精一杯「成功」して、
後に続くオープンソース開発者の模範あるいは
ロールモデルになろうと思うようになりました。
「オープンソースをやっていても食べていけるんだ」
とか、
「オープンソースを仕事にして幸せそうだ」
とかいうありさまを見せることもわたしの使命の1つなのでしょう。
きっと。
0902デフォルトの名無しさん2008/12/28(日) 16:06:06
>>899
やってみたんだけどね

require 'rexml/document'

xml = '<x>
<a><b>ほげほげ</b></a>
<a><b><c>ふがふが</c></b></a>
<a><b>ほげふが</b></a>
</x>'

doc = REXML::Document.new(xml)

puts doc.elements['x/a[.//c]'] # <a><b><c>ふがふが</c></b></a>
puts doc.elements['x/a[//c]'] # <a><b>ほげほげ</b></a>
puts doc.elements['//a[.//c]'] # <a><b><c>ふがふが</c></b></a>
puts doc.elements['//a[descendant::c]'] # <a><b><c>ふがふが</c></b></a>
puts doc.elements['//a[Descendant::c]'] # nil


なやましす
0903デフォルトの名無しさん2008/12/28(日) 17:10:23
> puts doc.elements['//a[descendant::c]']

これが正解じゃまいか?
0904デフォルトの名無しさん2008/12/28(日) 17:28:41
>>904
なのかな。XPathの文法見たらどうもそれっぽい
ttp://www.doraneko.org/xml/xpath10/19991116/Overview.html#axes

たまにREXML使うと間違いなく細かいところではまるんだよなあ
XPathにしろ文法に合致してないんなら例外吐いてくれるとうれしいのに
0905デフォルトの名無しさん2008/12/28(日) 20:54:57
Rmagickインストールして画像に文字を埋め込みたいのですが
Windows上では問題ないのにサーバにアップロードして実行すると
文字化けしてしまいます。
何か足りないものがあるのでしょうか?

現状:
CentOS
Ruby 1.8
Rmagick 2.8
imageimgickはjpeg,png,zlibのライブラリとともにインストール。
ghostscript8.63をあとから追加


ソース
img1 =Magick::ImageList.new("back.jpg")
dr = Magick::Draw.new
dr.pointsize = 12
dr.fill = "#000000"
dr.font = "/usr/local/rails/test/config/test.ttc"
dr.gravity = Magick::CenterGravity
dr.annotate(img1, 0, 0, 0, 0, "テスト")
0906デフォルトの名無しさん2008/12/28(日) 21:05:24
>>905
表示する日本語が表示ロケールと合ってないに一票
0907デフォルトの名無しさん2008/12/28(日) 22:55:43
んだなす
"テスト" はスクリプトファイルの文字エンコードで送られるはず
Windowsで動いてたってんならたぶんShiftJISだろうから、ShiftJISのテストという文字送られて化けてるだけだろう
0908デフォルトの名無しさん2008/12/29(月) 00:48:38
>>906-907
ソースファイルの文字コードはUTF-8です。
あと、渡す文字列のところを
NKF.nkf("-e","テスト")
とNKF.nkf("-s","テスト")にして
試してみたのですが化け方が変わるだけでした。
0909デフォルトの名無しさん2008/12/29(月) 03:18:45
じゃ、スクリプトの先頭にこれ入れてみたら?
$KCODE = 'u'
requireq 'jcode'

直る保障はないが、日本語の扱いは基本これ入れておくと無難だと思うわ。
0910デフォルトの名無しさん2008/12/29(月) 03:19:33
すまん、スペルミス。
require 'jcode'
0911デフォルトの名無しさん2008/12/29(月) 04:03:16
NKFってUTF-8扱えますか
0912デフォルトの名無しさん2008/12/29(月) 04:06:11
NKF.nkf('-w', str)
0913デフォルトの名無しさん2008/12/29(月) 06:57:55
NKF.nkf('-wW', str)
0914デフォルトの名無しさん2008/12/29(月) 06:58:11
>>909
jcodeとrmagickが何するライブラリか調べてからまた来い
0915デフォルトの名無しさん2008/12/29(月) 07:38:24
#!/bin/ruby -Ks
0916デフォルトの名無しさん2008/12/29(月) 07:43:05
ImageMagickで日本語扱えない説に一票
0917デフォルトの名無しさん2008/12/29(月) 11:22:20
>>916
日本語使えるよ。以下のコードでちゃんと合成できた。
CentOS5.1
Ruby1.8.7-p72
スクリプトはUTF-8で保存。
フォントはWindowsXPからMSゴシック持ってきた。

require 'rubygems'
require 'RMagick'

img1 = Magick::ImageList.new("back.jpg")
dr = Magick::Draw.new
dr.pointsize = 12
dr.fill = "#000000"
dr.font = "./MSgothic.ttf"
dr.gravity = Magick::CenterGravity
dr.annotate(img1, 0, 0, 0, 0, "テスト")

File.open("./back01.jpg", "w"){|f|
f.binmode
f.print img1.to_blob{quality = 95}
}
0918デフォルトの名無しさん2008/12/29(月) 11:43:59
/usr/local/rails/test/config/test.ttcがアップロード先になかったりして
0919デフォルトの名無しさん2008/12/29(月) 13:19:59
何気にawkのがすげくね?
awk '!dup[$0]++ {print $0}'
0920デフォルトの名無しさん2008/12/29(月) 15:50:29
Perlでいうこれは、

for (1..5, 10..15) {
print;
}

Rubyではどう書くのですか?

(1..5, 10..15).each do |i|
puts i
end
0921デフォルトの名無しさん2008/12/29(月) 16:00:10
>>920
つflatten
0922デフォルトの名無しさん2008/12/29(月) 16:04:25
>>920
書けない


範囲オブジェクトは加算も追加もできないから、配列にして連結するしかないな

((1..5).to_a+(10..15).to_a).each do |n|
puts n
end
0923デフォルトの名無しさん2008/12/29(月) 16:06:32
>>920
他にもあるだろうけど、俺にすぐ思いつくのは

((1..5).to_a+(10..15).to_a).each{ |j|
puts j
}
0924デフォルトの名無しさん2008/12/29(月) 16:16:26
>>921-923
�d
この場合のflattenの使い方がちょっとわかりませんが、一旦、配列に戻すんすね
0925デフォルトの名無しさん2008/12/29(月) 16:27:57
flattenは使う場所がないよ
あと、RangeとArrayには関連性はないから「戻す」という表現は好ましくないがまあどうでもいいや
0926デフォルトの名無しさん2008/12/29(月) 16:31:52
>>920
ruby1.8
([*1..5] + [*5..10]).each {|i| puts i}
ruby1.9
[*1..5, *10..15].each {|i| puts i}
0927デフォルトの名無しさん2008/12/29(月) 16:40:13
さすが * さんキモい
0928デフォルトの名無しさん2008/12/29(月) 16:51:15
>>925
やっぱ、flattenを使うところではないんですか。
戻すでなく変換っすね。

>>926
おー、簡潔でいいです。
0929デフォルトの名無しさん2008/12/29(月) 16:54:45
>>928
引数* は全く簡潔じゃないよ
perlをやっているならコードが短いことと簡潔性には関連がないことは知ってるはず
0930デフォルトの名無しさん2008/12/29(月) 17:02:26
素直にRangeの配列を作って、各々のRangeを回す
[1..5, 10..15].each do |r|
r.each do |i|
puts i
end
end

配列中にRangeと数値が混在しているなら
Rangeじゃないのものは配列に変換しちゃう
[1,3, 7..9, 13..15, 20].each do |r|
r = [r] unless Range === r
r.each do |i|
puts i
end
end
0931デフォルトの名無しさん2008/12/29(月) 17:06:29
配列中のRangeを展開しちゃうメソッド作成(富豪的)
def range_flatten(arg)
result = []
arg.each{|e| result += Range === e ? e.to_a : [e] }
result
end
range_flatten([1,3,7..9,13..15,20]).each do |i|
puts i
end

いっそ配列中のRangeを展開しつつ回すイテレーターにもしちゃう(少メモリ)
def range_flatten(arg)
if block_given?
arg.each do |r|
r = [r] unless Range === r
r.each {|i| yield i }
end
arg
else
result = []
arg.each{|e| result += Range === e ? e.to_a : [e] }
result
end
end
range_flatten([1,3,7..9,13..15,20]) do |i|
puts i
end
0932デフォルトの名無しさん2008/12/29(月) 17:12:42
深さ優先で再帰的に回るeachがあってもいい気がしてきた
module Enumerable
def depth_1st_each(&block)
each {|e| e.respond_to?(:depth_1st_each) ? e.depth_1st_each(&block) : yield(e) }
end
end

StringがEnumerableな1.8系だと不幸が起こるなぁ。
0933デフォルトの名無しさん2008/12/29(月) 18:10:32
MechanizeがHpricotからNokogiriになってから、
挙動もかわってしまった。

require 'hpricot'
require 'nokogiri'
src = '<r>
<a>ほげ</a>
<a>ふが</a>
</r>'

doc = Hpricot(src)
node = doc.search('//a')[0]
puts node #-><a>ほげ</a>
puts node.next_sibling #-><a>ふが</a>

doc = Nokogiri(src)
node = doc.search('//a')[1]
puts node #-><a>ほげ</a>
puts node.next_sibling.to_s[0] #-> ¥n

みたいな違いが出ます。Nokogiriのほうが見栄えを良くするための
改行文字(空白文字)も正しくパースしているからだと
思うのですが,Hpricotの振る舞いの方が便利なこともある。
ソースを変更できないので質問なんですが,
Nokogiriで空白文字を無視する方法を知りませんか?
(何が必要な空白文字で,何が不要な空白文字かの判断は難しいですが,それはそれとして)
要するに,'<r><a>ほげ</a><a>ふが</a></r>'と解釈して読み込んでほしい。
09349332008/12/29(月) 18:30:11
あ、「ソース」って,読み込むxmlとかhtmlのことね。
スクリプトでなくて。念のため。
0935デフォルトの名無しさん2008/12/29(月) 18:51:51
>>933
俺の環境だと
0要素目はきちんと <a>ほげ</a>
1要素目はきちんと <a>ふが</a>

を返すぞ
文字エンコードがまずいんだと思う
素の Nokogiri は UTF-8 しか読まないから、
事前に変換するか、Nokogiri.parse の第3引数にHTMLやXMLの文字コードを表すiconvな文字列を指定してみ
第2引数は nil でいい
0936デフォルトの名無しさん2008/12/29(月) 20:33:02
>>929-932
�d
よく見てみます
09379332008/12/29(月) 20:45:46
マジすいません。載っけたコードにミスがありました。
Nokogiriのほうの
node = doc.search('//a')[1]
ではなくて
node = doc.search('//a')[0]
です。
比較対象用のコードに誤りがあれば検証できませんよね。

念のため環境はruby 1.8.7 (2008-08-11 patchlevel 72) [powerpc-darwin7]です。
一応doc = Nokogiri(src, nil, 'UTF-8')にもしてみましたが,結果は同じでした。
HpricotとNokogiriでのnode.next_siblingの結果が,
同じ,<a>ふが</a>になればいいのですが...
ということでよろしくお願いします。
0938デフォルトの名無しさん2008/12/29(月) 21:17:02
>>937
うーん。
ttp://d.hatena.ne.jp/kitamomonga/20081229/ruby_difference_nokogiri_hpricot#nokogiri_4th_arg
動作原理は不明な上に他のHTMLではなんか動作しないんだけど、parseの第4引数に整数 2401 を指定してみ。
libxml2 の HTML_PARSE_NOBLANKS が有効になる。

require 'hpricot'
require 'nokogiri'
src = '<r>
<a>ほげ</a>
<a>ふが</a>
</r>'

p Nokogiri(src).search('//a')[0].next_sibling
p Nokogiri(src, nil, nil, 2401).search('//a')[0].next_sibling


結果:
     ←改行\n
<a>ふが</a>
0939デフォルトの名無しさん2008/12/29(月) 21:27:54
処理前にgsubかますのはダメなん?
0940デフォルトの名無しさん2008/12/29(月) 21:50:02
しまった、Mechanizeの中の話なんだっけ。
…メソッド定義を直に書き換えちゃうのが簡単だと思う…。

>>939
agent.post_connect_hooks に params[:response_body].gsub! なProc オブジェクト登録すれば動くかも
でもそれだと本文部分の改行も全部消えちゃいそうだな

agent.get(uri)
agent.page.body = Nokogiri.parse(agent.page.body, nil, nil, 2401).to_s

なら2度手間だけどなんとかなる?
0941デフォルトの名無しさん2008/12/30(火) 12:41:57
gsubって何の略ですか?
0942デフォルトの名無しさん2008/12/30(火) 12:51:52
global substitute
0943デフォルトの名無しさん2008/12/30(火) 12:52:22
global substitution
0944デフォルトの名無しさん2008/12/30(火) 13:26:37
goto subroutine
0945デフォルトの名無しさん2008/12/30(火) 14:16:30
>>942-944
合点
0946デフォルトの名無しさん2008/12/30(火) 14:32:36
gugureyo sorekurai usero baka
0947デフォルトの名無しさん2008/12/30(火) 14:50:04
>>943
それはもっともらしいけど、本当?

awk由来だけど、たとえばgrepはedコマンドの
g/RE/pをそのまま読んだわけで、なんかの略というわけではない。

gsubはedならg//s/RE/Replacement/ってところ(ちょっと無理があるが)
だろうが、ほんとにglobal substitutionの略だろうか?
0948デフォルトの名無しさん2008/12/30(火) 14:57:58
rubyにはsubとgsubがあること、perlの正規表現(ed、sed、awk由来だが)につける
フラグのgがglobalであること、s///がsubstitutionであることなどから推し量れば、
global substitutionが妥当だが、作者がそう言ったという根拠がなければ信用したく
ないなら、そういうスタンスもありなんでしょうね。どうでもいい話ではあるが。
0949デフォルトの名無しさん2008/12/30(火) 15:09:27
ま、Rubyのgsubはawkがそうだから、という理由以外にはなさそうなので、
http://oreilly.com/catalog/unixnut3/chapter/ch11.html
この本での説明が
gsub(r, s [, t])
Globally substitute s for each match of the regular expression r
in the string t. If t is not supplied, defaults to $0.
Return the number of substitutions. {N}
なので、これ以外をこじつけるのは無意味。
0950デフォルトの名無しさん2008/12/30(火) 17:42:51
>awk由来だけど、たとえばgrepはedコマンドの
>g/RE/pをそのまま読んだわけで、なんかの略というわけではない。

global reguler expression print の略ですが
0951デフォルトの名無しさん2008/12/30(火) 17:45:35
regular expression
0952デフォルトの名無しさん2008/12/30(火) 17:58:43
>>950
それは無理矢理だ。
0953デフォルトの名無しさん2008/12/30(火) 22:05:11
http://www.google.co.jp/search?q=global+regular+expression+print
0954デフォルトの名無しさん2008/12/30(火) 22:07:36
そもそも g/RE/p が global regular expression print の略だからなw
0955デフォルトの名無しさん2008/12/30(火) 22:42:59
vi 系エディタだと :g/RE/p のパターンは、常時つかう。
print の p 以外の方が、使用頻度が高い。

:g/RE/y A
y は yank の略、A はバッファー a に追加
:g/RE/d
d は delete の略
:g/RE/s/^/#/
s は substitution の略
RE のある行の行頭に # を挿入
0956デフォルトの名無しさん2008/12/31(水) 01:06:13
>>954
gがglobalの略で、全行選択の意味。
REがRegular Expression
pがprintの略で、表示だ。

それぞれ独立の要素であって、一体としてGlobal Regular Expression Printの
略なわけではない。英語になってないし。
0957デフォルトの名無しさん2008/12/31(水) 01:38:14
>>956
>>953
0958デフォルトの名無しさん2008/12/31(水) 06:35:33
>>957
マニュアルのほうが後付け。
0959デフォルトの名無しさん2008/12/31(水) 07:00:43
RFC (Request for Comments)
一般には「RFC=インターネット世界の標準的な規格書」という認識が広まっているが
RFCは日本語では「コメント募集」の意味であり、もともとは技術仕様を公開し、
それについての意見を広く募集してより良いものにしていく観点から始められたようである。
そもそもインターネットにおける規格を記述する文書に『Request For Comments』、
日本語に訳すと「ご意見お待ちしています」という名前が付けられているのは、
冷静に考えてみるとかなり変な話だ。
最初は「ただのメモ書きや提案」程度の意味合いしか持たなかったRFCだが、
その性質は今もある程度引き継いでいる。
今まで規格として紹介してきたRFCも、正確にはRFCの中でも『STANDARD』として
認められたものであり、決して「RFC=正式な規格書」というわけではない。
むしろRFCとは「インターネットを理解する上で役立つとIETF
(もしくはRFC編集グループ)が認めた文書」程度の意味合いしかない、
と考えた方がよい。
RFCは全て英語で書かれることが必須条件となっているため、
IT業界に籍を置きRFCを読まなければならないような立場になると、
RFCの表現をどう実装すればいいのか頭を悩ませることが少なくない。
そんなときは気分転換がてら、これらのジョークRFCを読んで頭を休ませるとか、
あるいは腕に覚えのある人ならジョークRFCを本当に実装してしまうなんていうのもおもしろいのではないか。
0960デフォルトの名無しさん2008/12/31(水) 07:02:41
Ruby は joke だった
0961デフォルトの名無しさん2008/12/31(水) 10:54:35
jokeと書かれるとJava製の○okeみたいな感じのモノを想像してしまう
0962デフォルトの名無しさん2008/12/31(水) 12:38:09
jperlの作者は、外国から「Javaで書いたPerlなのか?」と
問い合わせを受けたことがあるそうな。
0963デフォルトの名無しさん2008/12/31(水) 13:02:57
和暦(例えば平成20年12月31日)はDate::parseしてもだめ?
結果が2008-12-20になるんです。
年月日の部分を分解して組み立て直すしかないのでしょうか?

明治以降の和暦<->西暦ぐらいならライブラリがあっても良さそうなのですが。
0964デフォルトの名無しさん2008/12/31(水) 13:14:13
>>959
court(法廷)はもともと「囲まれた庭」という意味だから(以下略)
0965デフォルトの名無しさん2008/12/31(水) 13:22:26
>>963
NENGO = { "平成" => 1989 }
m = (/(.+?)(\d{1,2})年(\d{1,2})月(\d{1,2})日/).match "平成20年12月31日"
y = NENGO[m[1]] + m[2].to_i - 1
p [y, m[3], m[4]].join("-")

こんなんでどう?
0966デフォルトの名無しさん2008/12/31(水) 13:26:42
>>963
rubyforge.org/projects/jadtfmt/
ICUのラッパだから裏方の作りは問題ないはず。
0967デフォルトの名無しさん2008/12/31(水) 13:28:16
>>965
NENGO吹いたwwwww
09689662008/12/31(水) 13:35:21
ごめんパースはできないみたい。
0969デフォルトの名無しさん2008/12/31(水) 13:40:29
Java SE6だと、JapaneseImperialCalendar
.NETだと、System.Globalization.JapaneseCalendar
(前者はJRuby、後者はIronRubyで使えるかなー?)

どちらも明治以降の太陽暦しか扱えないので、Rubyでは是非とも
それ以前の元号と太陰暦のサポートを。
0970デフォルトの名無しさん2008/12/31(水) 13:43:51
だれが使うんだよw
09719632008/12/31(水) 13:46:53
>>965サンクスです。
>>966
ぱっとみただけだと西暦->和暦の一方通行だけなのかな?
で自己レスですが,Dateクラスを斜め読みしていたら,
self._parse_jisというクラスメソッドがあった。
MTSHの和暦->西暦だったらパースできるみたいです。

なので「平成年月日」の漢字部分をそれなりに置き換えたあとに
パースすればいいみたい...
(でもそれぐらいなら,はじめから組み込んでくれればいいのだが、こーどのもんだいがあるのかもしれない,,,1.9.1に期待)
0972デフォルトの名無しさん2008/12/31(水) 14:04:43
JapaneseImperialCalendarで遊んでみたら、
明治5年12月3日が1872年12月3日になった。
(明治5年12月2日の翌日は明治6年1月1日なので、1873年1月1日のはず)
JavaのCalendarはこのへん妙に凝ってた気がするんだが……
こういう改暦の境界って扱いがめんどくさそうだな。

0973デフォルトの名無しさん2008/12/31(水) 14:08:02
歴史は後から書き換えるものだしな…。
0974デフォルトの名無しさん2008/12/31(水) 14:29:16
>>962
Javaの影すらなかった時代からあるのにな...
jlessとかjawkとかいっぱいあるのに。外国人の日本認識なんてそんなものか。
0975デフォルトの名無しさん2008/12/31(水) 14:39:20
そりゃ、よその国のローカルなソフトウェア事情なんて普通他国の人間が
知るわけがないだろ

0976デフォルトの名無しさん2008/12/31(水) 14:53:48
DateTime::Format::Japanese使えない? >西暦<->和暦
0977デフォルトの名無しさん2008/12/31(水) 15:08:53
>>961
ジャストタイミングでJRuby作者が、Iokeとかいうのを作ったみたいw
Ioke 0 released | Ola Bini: Programming Language Synchronicity
http://olabini.com/blog/2008/12/ioke-0-released/
0978デフォルトの名無しさん2008/12/31(水) 15:18:56
>>969
ttp://homepage1.nifty.com/gyouseinet/history/nengouichiran.htm
ユリウス暦-グレゴリオ暦の変換とかも必要なのかな
0979デフォルトの名無しさん2008/12/31(水) 17:12:10
本格的にやると死ねそう……
明治以降限定で割り切るのが楽かね。(それでも改暦が1回あるが)
0980デフォルトの名無しさん2008/12/31(水) 18:02:46
南朝と北朝があるけど正統なのはどっちだっけ?
0981デフォルトの名無しさん2008/12/31(水) 18:22:36
>>919 に今ごろ反応
すげくねっといわれても
暗黙の機能の多さの違いとしか

awk "!dup[$0]++ {print}"
perl -ne "print if!$dup{$_}++"
ruby -e "puts readlines.uniq"
もしくは
ruby -ne "BEGIN{$dup=Hash.new 0};print if 2>$dup[$_]+=1"

awkから引き継いだフリップフロップ演算子なんて
ワンライナー以外で使うことがあるのかしら
awk "/^=begin/,/^=end/{print}
perl -ne "print if /^=begin/../^=end/"
ruby -ne "print if /^=begin/../^=end/"
0982デフォルトの名無しさん2008/12/31(水) 18:50:01
何気にperlのがすげくね?
0983デフォルトの名無しさん2008/12/31(水) 22:15:16
ume
0984デフォルトの名無しさん2008/12/31(水) 22:40:55
Ruby リファレンスマニュアルってなんでこんなにも
書きかけの文書が多いの?
http://www.ruby-lang.org/ja/man/html/Ruby_A5EAA5D5A5A1A5ECA5F3A5B9A5DEA5CBA5E5A5A2A5EB.html

本買ってね、ということなの?
0985デフォルトの名無しさん2008/12/31(水) 23:06:43
青基調のこっちが新型
http://doc.loveruby.net/refm/api/view/index

ライブラリの網羅率は、
今年の夏には5割で「来年の夏には終わる」とか言われてたから
たぶん今頃は7割ぐらい?
0986デフォルトの名無しさん2008/12/31(水) 23:25:49
>>984
そう思ったらあなたが書き足せば良いんですよ
っていうスタンス
0987デフォルトの名無しさん2008/12/31(水) 23:54:21
>>986
RWiki重すぎで静的HTMLになっちゃたっんだよねぇ。
0988デフォルトの名無しさん2008/12/31(水) 23:55:52
Rubyの中心にいる人たちはあまりドキュメントに熱心ではないので、
本がどうとかいう以前に、「ソース嫁」と思っている。
0989 【大吉】 2009/01/01(木) 00:15:50
あけおめことよろ!
0990 【大凶】 >>1000に 【564円】 あげます。2009/01/01(木) 00:21:43
あけましておめでとう。
今年もよろしくね!
0991 【大吉】 2009/01/01(木) 00:56:53
あけおめそーす嫁!
0992 【大吉】 2009/01/01(木) 00:57:37
うめ!
レス数が950を超えています。1000を超えると書き込みができなくなります。