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

Ruby 初心者スレッド Part 50

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/07/29(日) 14:26:28.92
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
RoRはスレ違いよ

前スレ
Ruby 初心者スレッド Part 49
http://toro.2ch.net/test/read.cgi/tech/1336507487/

るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/

Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/

逆引きRuby
http://www.namaraii.com/rubytips/
0552デフォルトの名無しさん2012/11/14(水) 18:08:16.08
binmode と同じか
0553デフォルトの名無しさん2012/11/14(水) 20:15:14.51
resolv、net-dns、dnsrubyといくつかあるけどどれが主流ですかね
それぞれの違いとかどんなものなのか知りたいのだけど資料もあまり多くはないな
0554デフォルトの名無しさん2012/11/15(木) 08:51:04.61
Ruby 1.9x irbでの環境で実行していて、
16進文字コードと、正規表現の入力チェックに
関して質問したいことが出ました。
"0123456789" =~ /¥A¥d+¥z/u
=> 0
こういう入力チェックをしている状況で、
たとえば先頭の0を16進表記しても
"¥x30123456789" =~ /¥A¥d+¥z/u
=> 0
という風になります。
'¥x30123456789' =~ /¥A¥d+¥z/u
=> nil
一方、式展開をさせないシングルクォートだと
こうなります。
irb以外の、ブラウザからの
postやgetされた16進表記などの入力値は、
どういう風に処理されるのでしょうか
¥x30はrubyで処理するときにはもう既に
展開されて0になっているのか、などです。
それとも処理系やブラウザ依存でしょうか。
0555デフォルトの名無しさん2012/11/15(木) 08:53:12.80
Ruby 1.9x irbでの環境で実行していて、
16進文字コードと、正規表現の入力チェックに
関して質問したいことが出ました。
"0123456789" =~ /\A\d+\z/u
=> 0
こういう入力チェックをしている状況で、
たとえば先頭の0を16進表記しても
"\x30123456789" =~ /\A\d+\z/u
=> 0
という風になります。
'\x30123456789' =~ /\A\d+\z/u
=> nil
一方、式展開をさせないシングルクォートだと
こうなります。
irb以外の、ブラウザからの
postやgetされた16進表記などの入力値は、
どういう風に処理されるのでしょうか
\x30はrubyで処理するときにはもう既に
展開されて0になっているのか、などです。
それとも処理系やブラウザ依存でしょうか。
0556デフォルトの名無しさん2012/11/15(木) 08:56:09.86
>\x30はrubyで処理するときにはもう既に展開されて0になっているのか
いいえ
>処理系や
いいえ
>ブラウザ依存
いいえ
0557デフォルトの名無しさん2012/11/15(木) 08:56:33.08
> ¥
(マカーだ…)
(マカーが来たわ…)
0558デフォルトの名無しさん2012/11/15(木) 11:32:51.71
rubyでwinndowsのプログラムはつくれますか
0559デフォルトの名無しさん2012/11/15(木) 12:33:39.08
yesかnoかで言えばyes
茨の道だからお薦めはしない
LLでやりたいってことなら
Pythonの方がWindowsと相性良い
0560デフォルトの名無しさん2012/11/15(木) 13:10:18.99
ありがとうございます
0561デフォルトの名無しさん2012/11/15(木) 16:25:01.43
ttp://www.kkaneko.com/rinkou/ruby/kanjicode.html
>日本語文字コードの変換
>【要点】
>Ruby バージョン 1.9 以降: String::encode を使う
>Ruby バージョン 1.8 以下: NKF を使う

1.9 でも、NKF を使っていてもいいんでしょ?
0562デフォルトの名無しさん2012/11/15(木) 18:25:56.63
>\x30はrubyで処理するときにはもう既に展開されて0になっているのか
はい
0563デフォルトの名無しさん2012/11/15(木) 20:41:02.78
まずはここに接続
サーバー chat.na1.lol.riotgames.com
ポート 5223
SSL使用


接続したあと pvp.netに認証↓
ドメイン pvp.net
ID tarou
PASS test
resource xiff

これをXMPPで送信したいんですけどRubyでやる方法教えてください
0564デフォルトの名無しさん2012/11/15(木) 20:41:50.02
http://stackoverflow.com/questions/13375021/how-to-authentication-league-of-legends-pvp-net-xmpp-help

これをRubyに書き直してください
じゃあ
0565デフォルトの名無しさん2012/11/15(木) 20:49:25.27
汚いトロルだなあ
0566デフォルトの名無しさん2012/11/16(金) 08:52:30.95
>>556
>>562
あざまっす処理系やブラウザには依存しない、
でOKのようですね。
>¥x30はrubyで処理するときにはもう既に展開されて0になっているのか
ここについてはご意見違うようですが。
httpの通信の部分ですよね。
0567デフォルトの名無しさん2012/11/16(金) 09:15:29.92
>>557
知ってるかもしれませんが、
ローカルでirbやったりすると
Windowsと比較にならないくらい
実行が早いっすよ。

MacBookAirはスタバでドヤ顔のためでもなく
デザイナーのためでもなく、
エンジニアのノマド開発用だとおもいます。
0568デフォルトの名無しさん2012/11/16(金) 09:37:02.24
なぜ比較対象がWindowsなんだろう
0569デフォルトの名無しさん2012/11/16(金) 11:19:22.83
>567
Window8があまりにひどいので
次買い換えるときはMacにするかも知れない
楽しみに待っててね!
0570デフォルトの名無しさん2012/11/16(金) 11:33:04.35
>>568
5年前くらいの頭で止まってるとそうなる
Windows7マシンにCUIなLinuxをVMで入れるのがコスパと使い勝手の総合で現状最強

※ コスパを入れ忘れないように願います
0571デフォルトの名無しさん2012/11/16(金) 12:48:33.42
andLinux いいよね
0572デフォルトの名無しさん2012/11/16(金) 17:35:15.04
def change(hash)
 hash.merge!(key: "change")
end

h = {key: "value"}
change(h)
h[:key] # => "change"

となるのに、rspecで
it do
 h = {key: "value"}
 change(h)
 h[:key].should == "change"
end
とすると
expected: "change"
got: "value" (using ==) となってしまいます。
なにが間違っているんでしょうか。
0573デフォルトの名無しさん2012/11/16(金) 23:00:19.56
>>572

method(:change) を出力してみると分かるかもしれないけど、
RSpecが定義しているマッチャーメソッドに change がある。

expect { operation }.to change(:hoge).from(X).to(Y)

のように使う奴。

別の名前のメソッドにすれば期待通りに動く。
0574デフォルトの名無しさん2012/11/17(土) 01:54:35.18
ありがとうございます。
無事動作しました!
0575デフォルトの名無しさん2012/11/17(土) 06:10:57.41
S式のファイルをパースしてHashにしたいんだけどライブラリとかないかな?
0576デフォルトの名無しさん2012/11/17(土) 18:28:26.52
>>570
無料の中では、Linux良いよね。
0577デフォルトの名無しさん2012/11/17(土) 18:37:11.81
>>575
どれほど堅牢かは知らないけどRipper.sexpや
https://github.com/aarongough/treetop-sexp-parser

いっそのことLLスレにお題として持ち込んでみてほしい
0578デフォルトの名無しさん2012/11/17(土) 18:51:06.19
hashにしたい人なんて居ないだろうから無いだろう。
0579デフォルトの名無しさん2012/11/17(土) 20:56:36.01
Hashじゃなかった。Arrayだった。
>>577は少し試してみたけど使えそう。
ってか、基本rubygemsしか探さないから気づかなかったわ。
ありが�d
0580デフォルトの名無しさん2012/11/18(日) 04:57:48.10
>573
なんで名前空間分かれてないの?
0581デフォルトの名無しさん2012/11/18(日) 05:02:48.19
DSLだから
ユーザーはキーワードを事前にすべて把握「していなければならない」
これはDSL使用における不可避な義務

assertというメソッド作ったらぶっ壊れるのと同じ
0582デフォルトの名無しさん2012/11/18(日) 19:38:46.37
Ruby1.9.3のマニュアルのsucc -> Timeについて
http://doc.ruby-lang.org/ja/1.9.3/class/Time.html

t = Time.now
p t
p t.succ
を実行するとwarning: Time#succ is obsolete; use time + 1って警告が出ます。
p t + 1と書けということなんでしょうが、succは1.9.3では非推奨なんですか?
将来のバージョンではsuccは消えるってことでしょうか?
0583デフォルトの名無しさん2012/11/19(月) 10:20:22.30
Rubyで、ブロックパラメータの構文木って取得できない?
foo {|x| x == nil ? 1 : 0 }
みたいな関数呼び出しがあったとして、foo()が受け取ったブロックの中身を構文木として取り出してごにょごにょしたい。
0584デフォルトの名無しさん2012/11/19(月) 10:56:29.33
exerb のソース見ると良いよ
0585デフォルトの名無しさん2012/11/19(月) 14:11:23.12
>>584
できないってことか。
0586デフォルトの名無しさん2012/11/19(月) 14:15:17.75
そこに書いてある
0587デフォルトの名無しさん2012/11/19(月) 19:15:08.83
>>583
Rubyの標準機能ではできない。たしかRubiniusならできたような。

>>584
exerbはソースコードをパースしてるだけなんじゃないの?583がやろうとしているのはそうじゃないでしょ。
0588デフォルトの名無しさん2012/11/20(火) 15:37:59.31
最近ようやくrvmに手を出したものです。環境はOSX10.8です。現状は
$ rvm list
rvm rubies
=* ruby-1.9.3-p194 [ x86_64 ]
# => - current
# =* - current && default
# * - default
which rubyだと
/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby
$ ruby --version
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.2.0]
です。
0589デフォルトの名無しさん2012/11/21(水) 20:49:38.11
ものすごい初歩的なミスだと思うのですが助けて!

環境 ruby1.8 windows7

# 配列を作成
ary = [
[1, "aさん", "[email protected]"],
[2, "bさん", "[email protected]"],
[3, "cさん", "[email protected]"],
[4, "dさん", "[email protected]"]
]

require "CSV"

file = CSV.open("hoge.csv", "w", "\t", "\n")
ary.each { |row| file << row }


配列をタブ区切りCSV?に出力するコードに、
↓な感じでダブルクォーテーションをつけようとしたんだけどエラーが出るんです。

file = CSV.open("hoge.csv", "w", "\t", "\n", {:force_quotes=>true})

エラーメッセージ
C:/AptanaWorkspace/Hello2/array2.rb:13:in `open': wrong number of arguments (5 for 4) (ArgumentError)
from C:/AptanaWorkspace/Hello2/array2.rb:13

↓にするとダブルクォーテーションは付くんだけど、区切りの文字はないし改行もされないです
file = CSV.open("hoge.csv", "w", "", {:force_quotes=>true})
0590デフォルトの名無しさん2012/11/21(水) 20:51:32.91
↓にするとまたエラーがでます
file = CSV.open("hoge.csv", "w", "\t", {:force_quotes=>true})

エラーメッセージ
c:/ruby/lib/ruby/1.8/CSV.rb:492:in `index': type mismatch: Hash given (TypeError)
from c:/ruby/lib/ruby/1.8/CSV.rb:492:in `generate_body'
from c:/ruby/lib/ruby/1.8/CSV.rb:288:in `generate_row'
from c:/ruby/lib/ruby/1.8/CSV.rb:692:in `<<'
from C:/AptanaWorkspace/Hello2/array2.rb:16
from C:/AptanaWorkspace/Hello2/array2.rb:16:in `each'
from C:/AptanaWorkspace/Hello2/array2.rb:16


csv.rbを覗いてみると83行目が↓になっててパラメータを5つ渡せるように見えるのですが
最後の&blockはパラメータではないのでしょうか?
def CSV.open(path, mode, fs = nil, rs = nil, &block)
0591デフォルトの名無しさん2012/11/21(水) 20:59:24.16
>>590
&amp;block はブロックなのでここの open の上の方のように書きます
ttp://doc.ruby-lang.org/ja/1.8.7/class/CSV.html
0592デフォルトの名無しさん2012/11/21(水) 22:16:59.39
>>591
どこを見ればいいのかわかりませんorz

{:force_quotes=>true}をどこらへんに書けばいいのでしょうか
0593デフォルトの名無しさん2012/11/21(水) 22:49:44.82
>>590
1.8じゃそんなオプションないとかじゃないの?
適当にリファレンス見てみると
http://doc.ruby-lang.org/ja/1.8.7/class/CSV.html こっちはforce_quotesなんて見つからないけど
http://doc.ruby-lang.org/ja/1.9.2/class/CSV.html 1.9だと普通に書いてあるし
0594デフォルトの名無しさん2012/11/21(水) 23:00:10.21
1.9ではFasterCSVが標準のCSVとして採用されたんじゃなかったかな
1.8にFasterCSV入れれば同じように使えるかと
0595デフォルトの名無しさん2012/11/22(木) 00:12:46.16
>>593
file = CSV.open("hoge.csv", "w", "", {:force_quotes=>true})

これだと一応ダブルクォーテーションは付いたので、対応してるのかなと思いましたが、
1.9からの機能かも知れないのですね

1.8にFasterCSV入れるか1.9でやってみます!
0596デフォルトの名無しさん2012/11/22(木) 18:34:41.52
初心者スレに逝けよ
0597デフォルトの名無しさん2012/11/22(木) 21:30:30.37
>>596
0598デフォルトの名無しさん2012/11/23(金) 01:05:19.56
>>596
0599デフォルトの名無しさん2012/11/23(金) 01:13:15.60
>>596
0600デフォルトの名無しさん2012/11/23(金) 01:47:24.14
ごくろうw
0601デフォルトの名無しさん2012/11/23(金) 02:10:54.99
>>600
あんたすげぇよ…
0602デフォルトの名無しさん2012/11/24(土) 16:11:03.86
# この前にstrを組み立てる処理
str = result
require 'net/ftp'
ftp.open('server', 'user', 'pass')

この後、ftp.put()でstrをアップしたいのですが、ftp.put()はファイルのパスを引数に取るので、strを渡せません。
ファイルのパスを引数に取るメソッドはたくさんあるのでこのようなケースはよくありそうなのですが、一般的にはどのように処理すればいいのでしょうか。
0603デフォルトの名無しさん2012/11/24(土) 16:14:43.24
ftpを止めるべき
0604デフォルトの名無しさん2012/11/24(土) 16:22:39.91
>>602
net/ftpはpurerubyだからソースを読んでみるといい
どうせ回答も似たようなのしか来ないだろう
0605デフォルトの名無しさん2012/11/24(土) 18:36:13.15
>>602
nfsとかで直接って書き込めばいいじゃん。
0606デフォルトの名無しさん2012/11/24(土) 19:43:28.18
内容をTempfileに書いて、putのlocal側にTempfile#pathを渡す。
0607デフォルトの名無しさん2012/11/24(土) 23:05:30.99
それだとファイル名おかしくなる
0608デフォルトの名無しさん2012/11/25(日) 05:06:33.05
転送ファイル名を別途指定できないんならそんなライブラリは捨てろ
0609デフォルトの名無しさん2012/11/25(日) 12:24:17.92
ちゃんと local と remote 両方指定できるだろ。

http://doc.ruby-lang.org/ja/1.9.3/method/Net=3a=3aFTP/i/put.html
0610デフォルトの名無しさん2012/11/25(日) 12:32:27.08
1.8.7とgemでインストールできるもののみで
Gmailの下書きにファイルを添付したメールを保存
ってできそうでしょうか?
watirで行けるかと思いきや、IE向けのSeleniumドライバ?を別途インストールする必要があるみたいでした
0611デフォルトの名無しさん2012/11/25(日) 14:52:34.83
>>610
gmailをimapでアクセス可に設定できるのなら簡単になりそうじゃない?
0612デフォルトの名無しさん2012/11/25(日) 15:32:17.36
RDEの最新版がダウンロードできないんですけど
0613デフォルトの名無しさん2012/11/25(日) 22:07:20.44
>>611
できるだけWebアクセス(httpかhttps)だけで・・・と考えてましたが
こだわらないとしたら確かにimapでできそうですね
ありがとうございます考えてみます
0614デフォルトの名無しさん2012/11/27(火) 21:27:27.98
ノーパソでキーボードが小さくてアンダーバーが打ちにくいので
to_iやto_fをtoiやtofに変更したいのですがどうしたらいいでしょうか
0615デフォルトの名無しさん2012/11/27(火) 21:35:33.63
オレオレRubyを作りたいというのではないよね?

class String
&nbsp;&nbsp;alias toi to_i
end

あたりでいいんじゃないの?
# 尚、Rational, Float, Complexにも定義されている。
0616デフォルトの名無しさん2012/11/27(火) 21:47:04.00
>>615
ありがとうございます
単に自分の環境だと打ちにくいから変更したいというだけで
いわゆる動く擬似コードの視点から見ればto_iやto_fのが
良いと思ってます
0617デフォルトの名無しさん2012/11/28(水) 14:09:32.06
アンダースコアの有無を無視して補完してくれるエディタを使え
0618デフォルトの名無しさん2012/11/28(水) 14:15:43.00
>>614
エディタ何使ってるかしらんけど、補完や短縮入力あればそれで
Vimなら、
iabbr toi toi
とか。スレ痴やな…
0619デフォルトの名無しさん2012/12/01(土) 05:37:33.04
Rubyって標準ライブラリにZipファイルを圧縮解凍するのついてないんだ…
Javaは付いてるのに…
0620デフォルトの名無しさん2012/12/01(土) 06:34:39.05
Unix環境じゃzipファイル使うことあんま無いからな
一般にgzipだからrubyにはzlibが用意されてる
Javaはjarファイルとの絡みでzipの読み書き欲しいだろうけど
0621デフォルトの名無しさん2012/12/01(土) 11:14:56.99
pythonにはzipfileもgzipもbz2も付いてるよ!
0622デフォルトの名無しさん2012/12/01(土) 11:19:23.60
>>621
全OS制覇を目指すならそれくらい標準でできんとお話にならん
Rubyは「そういうのめんどくさいからやりたい人が誰かやって」で通してきたからなあ
0623デフォルトの名無しさん2012/12/01(土) 12:01:20.25
Gemがあるんだからそれを使えばいいだろ
0624デフォルトの名無しさん2012/12/01(土) 15:39:28.62
javaもrubyも自分に必要な機能だからあるんだな

だがjavaのzipは日本語がうにこーどでウィンドウズのツールで開くとうにうに
0625デフォルトの名無しさん2012/12/01(土) 15:44:33.78
>624
情弱乙
0626デフォルトの名無しさん2012/12/01(土) 18:12:39.74
せめてbundlerみたいなのを標準で入れてほしいな
Gemなんて知らねって(Rubyをただの実行環境としか使ってない)人に渡すのが難なんだよね
0627デフォルトの名無しさん2012/12/01(土) 20:56:18.54
質問いたします、クラスの
メソッド群をcommaderのところで
イテレーション実行する際、
hogeのようにパラメータが不要な場合に
__send__のところの、*argsをうまく
取り除く?方法はないでしょうか?

class A
def hoge
puts("hogehoge")
end
def fuga(x)
puts(x)
end
def commander
order = [:hoge, :fuga]
params = {:fiuga => "fugafuga"}
self.each{|method|
args = params[method]
self.__send__(method, *args)
}
end
0628デフォルトの名無しさん2012/12/01(土) 21:03:58.36
bundlerにそういう機能があるだろ
06296282012/12/01(土) 21:04:46.10
>>626な
0630デフォルトの名無しさん2012/12/01(土) 22:56:51.67
>>627
(脱線:self.eachはorder.each だろうか?)

method(method).arity で判断とか。
質問で使っているローカル変数と被って紛らわしいな。
0631デフォルトの名無しさん2012/12/02(日) 00:39:51.52
>>627
argsが空の配列だと引数は無かったものになるよ

def hoge() :hoge end
send(:hoge,*[]) # => :hoge
send(:hoge,*[1]) #ArgumentError
0632デフォルトの名無しさん2012/12/02(日) 01:08:18.28
もしかして >>627 は引数のある fuga のほうで(typoのため)引数を
渡し損ねてエラーになってるのを見間違えたのだろうか?
0633デフォルトの名無しさん2012/12/02(日) 03:22:34.15
>630-632
誤字、脱字多くて失礼しました。回答ありがとうです
>>631
>argsが空の配列だと引数は無かったものになるよ
ありがとうございます。これ使わせていただきます。
0634デフォルトの名無しさん2012/12/02(日) 03:58:56.73
【お題】
WINDOWSで一定時間(10分)ごとにブラウザ(ChromeかIE)を更新(読み込み)するマクロ





を教えて下さいお願いします
0635デフォルトの名無しさん2012/12/02(日) 05:17:12.17
>>634
webrick/httpproxyでコンテンツ編集するプロクシ作って
window.setTimeout(function(){window.location.reload()},1000*60*60*10);
みたいなjavascriptをHTMLソースに埋め込む

つうか自動更新付いてるブラウザか拡張機能使えよ
0636デフォルトの名無しさん2012/12/02(日) 06:04:45.67
ぶちゃけ、>>634だけじゃ何をやりたいのかよくわからん
更新するページを自分が管理しているのかどうかとか、
もっと具体的に
0637デフォルトの名無しさん2012/12/02(日) 06:48:26.10
見るだけなら、自動更新機能のあるWebブラウザまたはWebブラウザに追加できる自動更新機能を使うというのがいちばん妥当かと思う
いちいち見せなくてもいいのならRubyで取得して差分出したりなんだりということはできるが、用途次第っすなー

ちなみにどこをどう頑張ってもいわゆるマクロ相当の簡便さ可搬さにはできない
IE操作ならVB.netとかC#使え
Firefoxアドオン製作ならjavaScript使え
どちらにおいてもRubyの出番はない
0638デフォルトの名無しさん2012/12/02(日) 15:27:02.35
crontabで1分起きにrubyの結果をテキストに吐き出したいんだが上手くいかない
*/1 * * * * ruby -e 'puts "#{Time.now.to_i}\t#{`コマンド`}"' >> ~/ファイル名.txt
txtを見てみるとunixタイムとタブのみ出力されていて、肝心のrubyの結果が出ないんだ
コマンド>> ~/ファイル名.txtのみで実行したときはしっかりと出力されるんだが。。。
crontabの書き方が悪いのか?
0639デフォルトの名無しさん2012/12/02(日) 16:02:03.06
>>638
とりあえず最後に 2>&1 を追加して様子を見る
0640デフォルトの名無しさん2012/12/02(日) 16:15:50.90
>>639
コマンドが見つからないみたいだ パスがおかしいのか?
0641デフォルトの名無しさん2012/12/02(日) 16:42:57.25
crontabのPATHとかシェルのPATHとかパーミッションとかtypoとか
まあrubyとはあんまり関係ない部分だと思うわ
0642デフォルトの名無しさん2012/12/02(日) 20:18:19.06
実行内容を puts ENV["PATH"] にしてみたらあらびっくりというパターンかな。
0643デフォルトの名無しさん2012/12/02(日) 20:33:56.90
crontabって、root用と一般ユーザー用があるんだろ?LPIC1落とした
0644デフォルトの名無しさん2012/12/02(日) 21:00:03.69
次は Time.now をフォーマットしようとして crontab(5) の % の扱いにハマる。
0645デフォルトの名無しさん2012/12/02(日) 21:04:12.52
>>641
PATH通ってないことがほとんどだな
ユーザーが手動ログインしたときの環境とcrontabが実行されるときの環境はほとんどの場合まったく違う
Rubyをrvmやrbenvでホームディレクトリにインストールしている場合なんかはそのままではたいてい動かない
0646デフォルトの名無しさん2012/12/02(日) 21:09:12.15
Ruby使おうと思ってるんですが
PerlのCPANみたいなのありますか?
それはCPANよりモジュールそろってますか?
教えて
0647デフォルトの名無しさん2012/12/02(日) 23:21:21.95
CPANみたいなものは、多分、gemだろうけど
あなたみたいな人はVBAでも弄ってる方が絶対に幸せだよ
0648デフォルトの名無しさん2012/12/02(日) 23:33:39.85
railsブームも去りそうだし、そろそろ成熟したOSSのツールの
バインドでも充実させてくれれば良いのにな
0649デフォルトの名無しさん2012/12/03(月) 00:19:06.11
>646
きみにぴったりなのはpythonだよ
0650デフォルトの名無しさん2012/12/03(月) 11:39:57.13
>>646
CPANほどそろってない
0651デフォルトの名無しさん2012/12/03(月) 12:55:46.61
Rubyは誰でも簡単に使えるようになるし
誰が使っても同じようなコードかけるのがいいよね
Perlは難しいし書く人によってコードが変わりまくるし
変態的で比較的レベルの高い人じゃないと向いてないよ
0652デフォルトの名無しさん2012/12/03(月) 18:29:59.58
初めての言語は Java、次に JavaScript その次が Perl

ある日「ひさしぶりに Perl を使おう」と思い立ち
$line = chomp($line);
と書いて、意図通り動かないことに気がついたとき
自分は Perl に向いていないと思った。
my とか bless とか、配列とかの不満よりも、
上記の1行コードでの失敗の方がおどろいた。
■ このスレッドは過去ログ倉庫に格納されています