[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 03/12 09:10 / Filesize : 211 KB / Number-of Response : 848
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 35



1 名前:デフォルトの名無しさん [2010/03/04(木) 11:00:57 ]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。

★注意★ Ruby 1.9.1 は初心者にはまだ時期早尚です。初心者には Ruby 1.8.7 を強くお勧めします。
   (理由:現時点では有名ライブラリやアプリが 1.9.1 に完全には対応していないためです)
 1.8.7 でも 1.9 系に導入された新機能のいくつかが利用可能なため、1.8.7 を習得すれば将来スムーズに 1.9 系に移行できるでしょう。

関連スレやURLは>>2-5あたりを見てください。Ruby on Rails の質問は Webプログラミング板の Rails スレへ。

■質問する人へ
質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。
 ・モジュール名やエラーメッセージでググる
 ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/
 ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ
質問には以下を書くこと。へたくそな質問は再提出を要求される。
 ・詳しい内容(「動きません」「うまくできません」では回答しようがない)
 ・エラーメッセージ(自力で訳さずなるべくそのままで)
 ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる))
 ・最終的にやりたいこと(もっとよい方法がある場合が多いので)
回答してくれた人には「ありがとう」のひとことをいってあげて。

■回答する人へ
相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。
それができないならこないこと(だって初心者スレだもん)。
 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。
 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。

231 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 12:53:06 ]
>>230
OneClickInstallerを使って1.8.7になるはずがない
あれは1.8.6しか存在しない
君が使ったのはRubyInstallerで、これはtkライブラリは含まない
Windowsでtkライブラリを使いたいのなら>>6のActiveScriptRubyを使うべき
これならActiveTclが別途入ってればなんとかなる

余談だけど
> 更新日時:2005/11/16 21:36:46
5年も前の記事をほいほい参考にすべきではない

232 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 13:47:54 ]
>>224-227
Thanks!
やっぱソコソコ手間かかるか

目的を正直に白状すると,デフォルトのUAがアレなので
常時ナチュラルなUAでライブラリを使用したいだけなんだよね

俺仕様ってことで推奨されない方法で行きます

233 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 13:53:49 ]
>>228
str = "hoge/aaa\/bbb/fuga"
re = /\/[^\/]++\/[^\/]++\//
p str.slice(re) #=> "/aaa/bbb/"

234 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 13:59:46 ]
>>232
Net::HTTP を直接使用することは極力避けたほうがいい(第一面倒だ)
自作のスクリプトで何度も使うというのならそのようなライブラリを自作するチャンス

俺は wget を定義して require 'orelib/wget' してしばらく使い回してたぞ

235 名前:232 mailto:sage [2010/03/11(木) 14:15:56 ]
>>234
>極力避けたほうがいい
それはどうして?
net/httpのAPIは結構気に入ってるんだけど

コネクションがスレッドセーフじゃないとか
Errno系の例外が不親切とかそこら辺?

236 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 14:28:03 ]
Net::HTTP は抽象度がわりと低いほうだからじゃないでしょうかぬ
システム的な問題ではないと推測

237 名前:220 mailto:sage [2010/03/11(木) 15:25:24 ]
>>231
仰る通り単体のRubyを入れていたようです
oldと書いていたので新しいもののほうがいいと思って
そっちをダウンロードしてしまったみたいです

ActiveRubyをダウンロード
gemのアップグレード
この時点で試しに
require "tk"
したけどエラー、tcltklibbなどtk関連のファイルがあるのに開けないみたい

>これならActiveTclが別途入ってればなんとかなる
この一文がなければここで挫折してました

そしていろいろぐぐっているとVisualuRubyはすでに入っているようなので
こちらでGUIを作りたいと思います
ありがとうございました

238 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 16:51:12 ]
すみません。お尋ねします。
ファイル上書き確認のコードを書いているのですが

if File.exist?(outfile)
print "#{outfile} は存在しています。上書きしますか ? (y/n): "
answer = STDIN.gets
if /y/i !~ answer
exit;
end
end

問題ないときもあるのですが、状況によっては(その状況が
いまいちよく分からないのですが)printが実行される前に
STDIN.getsに入って、何も表示されないまま待ち受け状態に
なってしまいます。printの対象を事前にflush(?)するには
どうしたら良いのでしょうか?

239 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:08:07 ]
>>213
あんまりよくわからんなりにソースを読んで見たところ(Windows版Ruby1.8.7だとして)

sleep は引数が無いなら WinapiのSleep(INFINITE)で無限に待つみたいで
引数があるなら Winsockのselectっていうのを呼んでた
selectはタイムアウト0秒だとすぐに帰って来るみたいなので
sleep(0) だと sleep() とは違ってすぐに帰ってくるようだ

るりまが間違ってるんじゃないだろうか?
あんまり自信があるわけじゃないので
だれか詳しい人、正確な説明よろしく




240 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:08:27 ]
自分で答言ってる

if File.exist?(outfile)
print "#{outfile} は存在しています。上書きしますか ? (y/[n]): "
$stdout.flush
exit if $stdin.gets =~ /\Ay/i
end

241 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 17:09:19 ]
>>238
flushって言葉を知ってるなら
IOのインスタンスでありprint等の出力先である$stdoutにそれをすればいい
と言えばわかるんじゃないかな

242 名前:238 mailto:sage [2010/03/11(木) 17:25:47 ]
>>240, 241

バッチリ動きました。ありがとうございました。

情けないことに$stdinの方をflushして
動かんなー、と悩んでました・・・。

243 名前:220 mailto:sage [2010/03/11(木) 18:02:05 ]
tkの方が解説サイトや機能が多いので
TCLフォルダにActiveTCL入れてみたけど実行するとエラーになる
いろんなサイトみて環境変数にパスもちゃんと入れたのに
TCL_LIBRARY TKL_LIBRARY INCLUDE LIBなど
実行するとここを読みに行ってエラー
/Ruby/lib/ruby/1.8/i386-mswin32
ここにもActiveRuby入れたときのTCLがあるのになぜエラー?

もう疲れたよ・・・

244 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:11:21 ]
ActiveScriptRuby(ActiveRubyというものは存在しないしこう表現してもいけない)は
デフォルトで C:\Program Files\ruby-1.8 にインストールするはずだが
C:\Ruby にインストールされるのは RubyInstaller の Ruby

245 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:18:22 ]
RubyInstallerをアンインストールしなかったのか
予想外だ

というかRubyでGUIなんかわざわざやろうという人はもっと熟練して賢いもんだと思ってた

246 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:24:04 ]
やはりTkへのアクセスの存在は隠したほうがいいのかもしれない
もう応対がめんどくさすぎる
デフォルトOFFのRubyInstallerの判断は賢い
…正式版じゃないからかもしれないが

どうしてもTkに処理を渡したいとき用のライブラリであって、
Rubyでウィンドウを作るためにあるわけじゃない
なんでRubyでウィンドウアプリケーションを作ろうと考えるのかもう全く理解できない

247 名前:220 mailto:sage [2010/03/11(木) 18:32:29 ]
簡単なのはRubyと聞いたのでやろうと思ったんだけど
まさかインストールするだけで2日かかるなんて

248 名前:220 mailto:sage [2010/03/11(木) 18:35:42 ]
>>244
空白開いてるといけないとかどこかで見たから
デフォルト変えてD;\直下にインストールしただけ
エラー表示されるときのパスもちゃんとインストールされた
場所のTCLを参照しているし、でもエラーが出る

RubyInstallerはActivescriptRubyを入れる前に
ちゃんとアインインストールしました
残ったフォルダも直接削除しましたし

249 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:38:28 ]
>>247
簡単だよ

ただ、OS操作とコマンドライン文化に不慣れなプログラミング初心者が独学でやっても簡単だと言った人がいたなら
俺が許可するのでグーで殴れグーで



250 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:40:00 ]
>>249
スレのテンプレすら読めない人も追加で

251 名前:220 mailto:sage [2010/03/11(木) 18:46:47 ]
>>246
>なんでRubyでウィンドウアプリケーションを作ろうと考えるのかもう全く理解できない

ここを見たので、この通りやろうとして躓きました
jp.rubyist.net/magazine/?0002-FirstProgramming
逆になぜ作ってはだめなのか私にはわかりません
そういった説明もないですし

252 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:48:50 ]
>>250
そだな、>>1の注意書きとか読めてないような人にはたぶん無理だな

253 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 18:51:41 ]
Rubyを使ってる人は程度が低いので、Ruby以外の知識が要求されるGUIプログラミングを否定しようとします
そういった人に騙されないようにしましょう

254 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 19:00:11 ]
>>253
今のお前恐ろしくつまんないんだけど…

255 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 19:05:13 ]
いや、Rubyとかじゃなく、GUIに関するドキュメント少なすぎるだけだと思う。
LinuxでGTKプログラミングやろうとすると多くの人が挫折するし。

256 名前:220 mailto:sage [2010/03/11(木) 19:06:06 ]
エラー内容
D:/Ruby/lib/ruby/1.8/i386-mswin32/tcltklib.so: tcltklib: fail to open tcl_dll (LoadError)
from D:/Ruby/lib/ruby/1.8/tk.rb:6
Complete(1)

ソースコード
require "tk"
Tk.mainloop

xpsp3で以下をダウンロード
ActiveScriptRuby 1.8.7(p249) with-winsock2 tcl-stub
ActiveTcl8.5.8.1.291945-win32-ix86-threaded.exe
参考サイト
arton.hp.infoseek.co.jp/indexj.html
www.db.is.kyushu-u.ac.jp/rinkou/ruby/activescriptrubyinstallwindows.html
lldev.jp/ruby/tips/ruby_tk_install.html
など・・

こんな感じです

257 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 19:27:32 ]
環境変数が設定できてないか参照できていないように見える
コマンドプロンプトから

C:\>echo %TK_LIBRARY%
C:\Tcl\lib\tk8.4

C:\>echo %TCL_LIBRARY%
C:\Tcl\lib\tcl8.4

C:\>ruby -e "require 'tk'"
(何もエラーが出ないまま終了)

どうせ RDE がなんかしてるんだろうと思う

258 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 19:29:51 ]
Ruby と Tk をインストールしてから一度も RDE を再起動してない場合はこうなるな

259 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 19:43:46 ]
RubyもTclも入ってない環境だったので Windows 7 Ultimate 64-bit で試してみた

1. ActiveScriptRuby 1.8.7(p249) with-winsock2 tcl-stub をインストール
2. ActiveTcl8.5.8.1.291945-win32-ix86-threaded.exe をインストール
(インストーラは管理者として実行)

> cd "C:\Program Files (x86)\ruby-1.8\bin"
> irb
irb(main):001:0> require 'tk'
=> true
irb(main):002:0> Tk.mainloop()
# ここでTcl/Tkのウインドウが表示される
=> true

ウインドウを出すところまでは普通に動くね



260 名前:220 mailto:sage [2010/03/11(木) 19:56:49 ]
>>257
全く同じ結果でエラーも出ませんでした
もしやと思って、test.rbをdblclickしたら普通に起動しました
ruby consoleで
>test.rbとやってもフォームが表示されました

>>258
再起動は何度もしましたが同じ結果でした

>>259
そのTCLはActiveScriptRubyに入っているTCLですか?
それとも別途インストールしたほうのTCLでしょうか?
どこかのサイトにRubyが参照しているライブラリのディレクトリを表示する
コマンドが書かれていたんですけど、閉じてしまってわからなくなった

261 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 20:00:39 ]
詰まる初心者の9割はRDE使ってるよな
なんなの

262 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 20:12:21 ]
>>261
誘蛾灯みたいなもんだと思う

コマンドプロンプト上から ruby -e "require 'tk'; Tk.mainloop" を実行してウィンドウが出るのに
RDE のエディタ部に require 'tk';Tk.mainloop と書いて F5 押してエラーログが出るなら RDE の問題

263 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 20:58:57 ]
zipとrarを回答する短いプログラムを作ろうと思っているんだけど、
OSのコマンドを使わずに作りたい

できればwindowsとlinuxのどっちでも動くようにしたい
教えてエロい人!!

264 名前:220 mailto:sage [2010/03/11(木) 21:01:03 ]
初心者は蛾扱いか
プログラマってこういう人間ばっかりか

265 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:05:01 ]
>>263
ソース読んでそういうライブラリ作るとか。
tarは自分で作ったことあるよ。

266 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:10:03 ]
正直RDEというだけで話聞く気9割減

267 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:13:10 ]
>>264
1〜2日くらいしか考えてないんだろ
そんくらいで怒るなよ
みんな親切にしてるじゃないか

268 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:16:51 ]
>>263
コマンドじゃなければいいだけなのならほぼ全てのスクリプト言語でできるぞ
その言語環境がインストールされていることが前提だが
というかシェルに展開を任すような処理をしてる言語を俺は知らない

269 名前:263 mailto:sage [2010/03/11(木) 21:18:06 ]
>>265
tarを解凍するコードをRubyで書くのって、面倒じゃないんですか?
Rubyの文法がまだ分からないんでorz

頑張って作ってくれと頼まれたもので..



270 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:21:00 ]
>>269
いやtarの展開だけなら数百行でおk。
アーカイブに追加するのは、ちゃんとテストしないと恐ろしいのでやめた。
面倒なら外部コマンドに投げるのが楽。

271 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:25:18 ]
>>266
Rubyを知らない人間がRDEを使うのは嫌われる
Ruby on RailsはRubyとは実質無関係なので他所で
Ruby1.9.1はとりあえず初心者は使うな
RubyInstallerはインストール後がめんどくさいから使うな
Rubyで関数と言って教える何かがあったらそいつから即手を切れ

こんなもん?

>>269
それは
「ZIPとTARの仕様構造を自力で調べてそれを展開するようなプログラムを作ることで勉強しろ」
という意味だろうから話がちょっと違う

Rubyは(少なくとも1.8は)いわゆる文字列とバイナリ列は同じなので
○バイト目から△バイト目までをどうにかする、という処理は普通に書ける

もし「外部コマンドがインストールされてないとZip用ライブラリやTar用ライブラリが動作しないのではないか」
と思っているのなら、そんなことはない
普通にインストールされていればRubyは両者をそれこそ3行くらいで展開する

272 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:27:13 ]
あ、Zipってそっちか
それはrubygemからの追加インストールがいるな

273 名前:263 mailto:sage [2010/03/11(木) 21:27:41 ]
>>268
zipを解凍するライブラリーはrubyにもあると思いますが、
rarはライセンスのせいでライブラリーが・・・と思ったので

>>270
さすがに、制限時間があるなかで「Rubyの文法 + 解凍のコード」を
書くのは厳しいですね〜

274 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:47:28 ]
@hoge = hoge
こんなコードがrubyにはあるわけですが、
perlと同じく変数は宣言しなくていいんですか?

最近のperlはmyをつけて、変数を宣言するのが一般的になってきていると思うのですが

275 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:51:18 ]
>>260
> そのTCLはActiveScriptRubyに入っているTCLですか?
というか ActiveScriptRuby には Ruby と Tcl をつなぐものしか入ってなくて
Tcl は ActiveState のサイトから持ってきた ActiveTcl に入ってる

ActiveTcl をインストール済みなら環境変数 PATH を使って
Ruby/Tk が勝手に Tcl を見つけてくれるはずだよ

でもって
> もしやと思って、test.rbをdblclickしたら普通に起動しました
> ruby consoleで
> >test.rbとやってもフォームが表示されました
RDEの設定に問題があるんだろうから
RDE から ENV['PATH'] して Tcl\bin が含まれているかチェック

もし含まれていなければ環境変数 PATH か RUBY_TCL_DLL に
Tcl\bin でも設定して試してみて

276 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 21:55:04 ]
>>274
Rubyの変数はハコではない

Rubyのデータは全てオブジェクトでどこか「オブジェクト置き場」に厳然と存在してて、
「変数代入」はその置き場に転がってるオブジェクトにその名前のラベルを貼る行為に同じ

ただのラベルだから宣言はいらない
オブジェクトはすでに存在してるわけだし
@var = hoge は hoge の指す(というか hoge の返す)オブジェクトに
「@var」という4文字のラベルをつける行為


…実際は宣言してるはずなんだが、完全に隠蔽されててRubyスクリプトからは見えないし触れないし関われない

277 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:02:08 ]
プログラミングがしてみたい、というだけなら
今はMSのSmall Basicがいいんじゃなかろうか。


278 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:07:28 ]
>>277
うん、マニュアルだけ見れば十分な既言語取得済該当言語初心者はいつもそう言う

プログラミング初心者に本当に必要なのは十万の解説と百万のサンプル

279 名前:274 mailto:sage [2010/03/11(木) 22:19:12 ]
>>276
オブジェクトは既に存在していて、オブジェクトに対して名前をつけているってことか?

@var = hogeはjavaでいうと

class Hoge {
Test test;
void setTest(Test t) {
this.test = t;
}}

と同じになるの?



280 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:24:11 ]
>>275
ごめん、もうアンインストールした
この2日間、時間の無駄使いしただけだった

281 名前:220 mailto:sage [2010/03/11(木) 22:31:58 ]
環境変数という言葉すら初耳の状態からスタートしたおれにとって
まさに>>278の言う通り

教えてくれても、専門用語だらけでわからない
それでも単語ひとつひとつぐぐりながらこの2日間がんばったが
コード一つ書かないまま、いや、2行だけは書いたが
終わってしまうとはまさに予想外

俺の考えている初心者とプログラマーの初心者の立ち位置が違いすぎた
あなた達とはもう2度と出会うことはないでしょう
さようなら

282 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:36:06 ]
>>278
その見地ならJavaが最適ってことで。
でもなぜかJavaを勧める人はあんまりいない、気がする。

283 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:42:04 ]
>>281
本当にもう見ていないことを期待して書くが、たとえば
キーボードやマウスの使い方、エクスプローラの使い方なんかは言語の範疇外だ
それと同様、コマンドプロンプトやOSの環境変数、標準のインストーラ動作なんかは言語解説の範疇外
コマンドプロンプトに日本語を表示したら化けたとかそういうのも本来無関係
文字コードって何ですかとかシフトジス?ってなんですかとかそういうの知らないのも問題外
HTTPとURI関連のライブラリ使うならRFC準拠の基礎知識くらいは持ってから来いやポートの説明からか泣くぞオラ

とまあ、どこまで巻き戻ることを想定するかは残念ながらこちらで決めさせてもらわざるを得ないのだ
Rubyさんは貧乏でリソースは有限であるがゆえ

もし他の(お金持ちでそれゆえ親切な)言語でプログラミングの楽しさを身に付けたなら、
そのときは気が向いたときにでも振り返ってRubyを検討してみてくれると嬉しい

284 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:46:46 ]
すこぶるRDEは嫌われてるみたいですが、
ここに居る人はどんな環境使ってるんですかね?

自分は会社だとEmacs。家だとEclisp
WindowsだとEmacs使う気が失せるんですよ・・・・。

ちなみに仕事はソフトウェア関連ではなく超初心者です。

285 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:47:03 ]
最近はさすがに減ったが、「プログラミングの全くの初心者にもRubyは簡単」という喧伝が多すぎたな
プログラミングの経験がなくても結構使うまでいける言語である保証は頑張ってしたいところだが、
そこまでの道のりがどなたにも簡単かと言われるとかなり大きな疑問符

286 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:49:52 ]
>>284
えまくすくりーんぷてぃー
何らかの手段でLinuxを起動して接続してその上でRuby使うのがたぶん一番妥当
Windows上でRuby使うとかなんかボリショイサーカス見てる気分になる

287 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:50:44 ]
やろうとしたことが GUI でしかも IDE 使用という
二重のトラップにかかったのが不幸だったといわざるを得ない

『たのしい Ruby 』とか適当な初心者本買って
コマンドプロンプト+テキストエディタでリベンジしてほしいな
地味だけど

288 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:54:57 ]
>>287
コマンドプロンプトではエラーなく動作してる時点で
「あっじゃあこっちでやりますRDEはステで」
という判断にならなかったのがなんかもう供養塔立てて忘れないよう祀るレベル

今度から「RubyではGUIできません」と答えることにしようと思う

289 名前:デフォルトの名無しさん [2010/03/11(木) 23:10:44 ]
>>281
プログラミング初心者ならそれこそ1日や2日でマスターできるもんじゃないんだから、
根気よくやらないといかんよ・・・

毎日プログラミングし続けて3年くらい使い続ければそこそこプログラミングできるようになる。
頑張れ



290 名前:デフォルトの名無しさん [2010/03/11(木) 23:13:57 ]
>>281
誰にGUIをRubyなら簡単にできると教えてもらったのか知らんが、そいつを殴ってもいいぞ

俺ならC#を押すよ。初心者でもポトペタでいきなりGUIが作れる。
サンプルコードもネットにたくさん。フリーのコンポーネントも一杯ある。

Delphiでゲーム作ってプログラミング覚えた俺だけど、いきなりRubyやってたら多分挫折してる

291 名前:デフォルトの名無しさん [2010/03/11(木) 23:23:23 ]
最近で見たRuby初心者でいえば、チンパン団のロプロスはすごかったな。
ニートから1年くらいでphp→Rubyと来てtwitter関連のwebサービス立ち上げて、アフィリエイトで飯食ってる。

でもロプロスはRDE使ってるんだよな。
twitter関連のwebサービスのtwilogはユーザー数数万人だが、Railsすら使ってない。
index.cgiだったぞw

何がいいたいかって、GUIじゃなくてwebに興味持てばまだよかったと思う

292 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:25:56 ]
アフィリエイトって w

293 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:33:24 ]
しょうもないこと言うやつばっかりになったな

294 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:37:41 ]
moduleってC++のnamespaceやjavaのpackageと同じ?

295 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:39:29 ]
クラウドだのシンクライアントだのって数年前のサーバサイドに先祖返りしてるけど
Railsは本命にはならんだろうな
なんだかんだ言ってcgi+javascriptがこの先も主力だろう

296 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 23:55:12 ]
> なんだかんだ言ってcgi+javascriptがこの先も主力だろう
> なんだかんだ言ってcgi+javascriptがこの先も主力だろう
> なんだかんだ言ってcgi+javascriptがこの先も主力だろう
> なんだかんだ言ってcgi+javascriptがこの先も主力だろう
> なんだかんだ言ってcgi+javascriptがこの先も主力だろう

297 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 00:00:44 ]
気持ちはわかるが5行はやりすぎだ落ち着け

298 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 00:04:14 ]
RoR と cgi+javascript じゃ目指してるものが違うから住み分けるんじゃないの?
サイトの数としては後者の方が多くなるだろうけど

299 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 00:10:38 ]
>>294
C++のnamespaceとJavaのpackageが同じに見えるのなら、
moduleも同じだということにしてもいい。
あ、classも同じでいいよ。



300 名前:294 mailto:sage [2010/03/12(金) 00:14:15 ]
>>299
そんじゃ、moduleもpackageみたいに使います
あえて言うなら、何か違いありますか?

今のところ趣味でプログラミングしているんで、namespaceを使うことが無いんだよね〜
だから、namespaceとpackageの細かな違いがわかんない

301 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 00:15:24 ]
このスレっていつもこんな感じなのか?
プログラムというよりは「自宅サーバ板」のおまけスレみたいだな

302 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 01:15:58 ]
3月は春休み

303 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 01:41:29 ]
>>301
あなたがここに来たのと同じような理由の人がいます

304 名前:デフォルトの名無しさん [2010/03/12(金) 04:47:02 ]
CentOS5のrubyが、rubygemsを入れるには古いので、
RPMとソースインストールを共存させようと思いました。
RPMは/usr/bin、ソースインストールは/usr/local/binに入るので、
位置的には問題なく入ったのですが、
このままだとRPMのrubyが優先的に使われます。
ソースインストールのrubyが優先的に使われるようにするにはどうすればいいですか?

305 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 05:11:32 ]
>>281
Cygwin の Ruby なら簡……と言いかけたがダメだなこりゃw

306 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 08:24:01 ]
>>304
PATH


307 名前:304 mailto:sage [2010/03/12(金) 08:45:44 ]
ありがとうございます。
よく見たら/usr/local/binが先に書いてあるので
このままでもソースインストールのrubyが優先されました

308 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 08:59:02 ]
共存か…CentOSにalternative的なものって無かったっけ

309 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 10:19:39 ]
>>308
man 8 alternatives
chkconfigパッケージに入ってる。




310 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 11:04:29 ]
>>304
うん、Linuxのパスについての勉強しれ
rubyインタプリタは自分の場所を考慮して起動用設定ファイルを読むから、
/usr/local/bin/ruby と /usr/bin/ruby と /home/ore/usr/local/bin/ruby くらい違えば小細工ゼロで共存するはず

311 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 12:47:40 ]
updating newgem でメモリ使い切って10分くらいガリガリ言ってる…

312 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 13:14:55 ]
最近のrubygem updateはプア環境ではまた辛くなってる
1.2くらいの頃が一番よかった

313 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 13:35:05 ]
スワップに突入するくらいメモリがない場合は
一旦アンインストールしてから再インストールしたほうが所要時間的には早いよね
アップデート対象のgem一覧を返して終了する、みたいなオプションがないのが辛い

314 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 14:00:19 ]
>>263
7-zipインストールを前提にした上で、それをコマンドラインから叩くのが楽かな。


315 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 14:15:22 ]
>>314
win32のゲームの配布でRubyスクリプト使ってアーカイブ作ってたときは、俺も7zip使ってたな。
外部コマンドあるならそっちも手っ取り早い

316 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 14:34:25 ]
ちょっと質問ですが、ふつーはRubyGemsで入れたライブラリなどのリファレンスくるのって何が手っ取り早いんでしょうか?

今までRailsやってて、るりまのchmと
↓で配布されてたchmと(更新停止中)、
d.hatena.ne.jp/kabus/20081202
あとは最新のは railsapi.com/doc/rails-v2.3.5_ruby-v1.8/ とか見てたんですが、
るりまはともかく、railsのchm配布サイトが更新されてなかったり、
最後のサイトはprivateメソッドやnodocのものが乗ってなかったり、不便に感じてます・・・。

こういう不便さを解消できるものでしょうか?

また、ri入れるとRubyGemsのインスコが激遅になるんで使ってないんですが
(.gemrcに gem: --no-ri --no-rdoc とか書いてます)、
普通はri使うもんなんでしょうか?

317 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 14:45:15 ]
>>316
基本的にはソース読む
公開されてる部分のドキュメントが内容を正しく反映しているとは限らないし、
端折られてる部分の重要性のほうが高いことがほとんどだから

というかほとんどの場合:nodoc:の使い方が不正
nodocにするべきではないものまでガンガンnodocにしてある
privateメソッドを内部で呼んでいるならその動作もpublicメソッドのドキュメントに反映すべきだし
privateメソッドだからといって説明をしなくてもいいということには絶対にならない

ちなみに「Rubyにはprivateやprotectedは不要」派でございます

318 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 15:34:10 ]
>>316
自分が参考にする大まかな順番

1.ri(マクロでエディタから呼び出せると便利)
2.自動生成したUMLクラス図
3.ヘルプファイルや書籍(親切・有名なプロジェクトなら)
4.Google先生
5.ソースコード・テストファイル・スペックファイル
6.自動生成したコード片のコールグラフ(ソースに黒魔術満載の場合)
7.職場のネ申
8.2chで祈りを捧げる(時間をつぶすともいう)
9.諦める

riとrdocは中身は同じだからrdocでもいいと思う。好みで。

319 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 16:26:18 ]
超初心者向けの言語でない事は確実だな。
教祖が使ってるデビアンから入る必要が有るし。特に広く一般に普及してるウィンドウズからは敷居が高い。



320 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 16:31:50 ]
>privateメソッドだからといって説明をしなくてもいいということには絶対にならない
>ちなみに「Rubyにはprivateやprotectedは不要」派でございます

リファクタリングのコストが高くなりすぎないか?

321 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 16:33:37 ]
>>319
お前Ruby以外使ったことないだろ

322 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 18:44:12 ]
拡張子の変更がうまくいきません
foo = "foo.c"
File.extname(foo) = ".o"
とするとエラーが出ます

323 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 18:51:52 ]
extnameが返すのは左辺値じゃない。

1.9 なら Pathname('foo.c').sub_ext('.o').to_s で。
1.8 なら素直に文字列置換。




324 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 18:57:48 ]
>>322
# File.extnameメソッドは最後のドット以降の文字列(いわゆる拡張子)
# を返すだけ。設定はできない。
foo = "foo.c"
p File.extname(foo) #=> ".c"

# File.basenameメソッドは第2引数に文字列を与えるとファイル名の末尾から
# その文字列を取り除く。
p File.basename(foo, File.extname(foo)) #=> "foo"

# おそらくあなたがしたい事はこれ
p File.basename(foo, File.extname(foo)) + ".o" #=> "foo.o"

325 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:23:30 ]
rubyの処理系(windows)の違いを教えてください
ActiveScriptRubyと公式な実装(ビルドが沢山ある?)があるみたいですが

326 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:25:51 ]
>>325
C#なら何も悩むことはないよ

327 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:27:05 ]
>>322
C#ならファイル名変更なんて簡単に一行でできるのに
かわいそw

328 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:30:20 ]
>> 323
sub_extなんてものがあったのですね。
ありがとうございます。勉強になりました。
以前リファレンスを探したときは見つけられませんでしたので見直しましたが
やはり1.9のリファレンスにsub_extがありません。

>>324
違います

329 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:31:04 ]
公式なWindowsバイナリは存在しない
(Windowsで動作するようなソースは取り込まれているが、コンパイルしたものそのものは配布していない)
バイナリはすべて有志の個人またはネット上の第三者プロジェクトの提供による

あとは>>6
これでは端折ったが要はActiveScriptRubyがMSWin32でRubyInstallerがMinGW32
この言葉が理解できないならこれ以上の情報は不要なので素直にActiveScriptRuby使え
これはほぼ全てのスクリプトでWindows環境だと思ってもらえる
通常の利用上の問題はないから



330 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:36:13 ]
>>329
windowsで公式な実相が無いなら、適当に選ぶことにしますわ
thx

331 名前:デフォルトの名無しさん mailto:sage [2010/03/12(金) 19:38:10 ]
>>328
riには普通にあったよ
るりまにはないようだ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<211KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef