Ruby 初心者スレッド Part 35
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/03/04(木) 11:00:57★注意★ 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つをすること。ここで回答を待つよりそのほうが早い。
・モジュール名やエラーメッセージでググる
・マニュアルで引っかかったクラスの記述を探す 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を読め」でいいので、叩かない&怖がらせない。
・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。
・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
0002デフォルトの名無しさん
2010/03/04(木) 11:02:23Q:
いちからRubyを始める初心者向けのRuby入門書は何がありますか?
A:
プログラム作成自体の初心者なら
・「たのしいRuby 第2版 Rubyではじめる気軽なプログラミング」
http://www.amazon.co.jp/dp/4797336617/
文法は理解済み(orリファレンスで乗り切る既言語習得者)の場合のRuby様式を知る必携2冊目
・「初めてのRuby」
http://www.amazon.co.jp/dp/4873113679/
以下は外れが少ないとされている本です。必ず立ち読みした上で自分の目的とレベルに応じて購入してください。
・「Rubyレシピブック 第2版 268の技」(初心者向け)
http://www.amazon.co.jp/dp/4797340045/
・「プログラミングRuby 第2版 言語編」(初心者向け)
http://www.amazon.co.jp/dp/4274066428/
・「Ruby Way 第2版」(脱初心者向け)
http://www.amazon.co.jp/dp/4798115339/
・ 「Rubyクックブック ―エキスパートのための応用レシピ集」(脱初心者向け)
http://www.amazon.co.jp/dp/4873113245/
以下の本は言語作者が書いた最新本ですがとりあえず初学者向けではありません。
・「プログラミング言語 Ruby」(言語として深く知りたい人向け)
http://www.amazon.co.jp/dp/4873113946/
0003デフォルトの名無しさん
2010/03/04(木) 11:03:38・Ruby Home Page 【公式、お役立ち度が微妙】
http://www.ruby-lang.org/ja/
・Rubyリファレンスマニュアル 【検索機能休止中、Googleなどの併用を】
http://www.ruby-lang.org/ja/man/
http://www.ruby-doc.org/ 【詳しい英語版】
・HTMLヘルプ版リファレンスマニュアル配布さん 【Windowsで便利、検索も無論可能】
http://elbereth-hp.hp.infoseek.co.jp/ruby.html
・Programming Ruby - The Pragmatic Programmer's Guide 【好評書籍の初版がネットで、ただし英語】
http://www.ruby-doc.org/docs/ProgrammingRuby/
・Rubyist Magazine - るびま 【ライブラリ紹介などの読み物、過去のコードレビューは一読の価値あり】
http://jp.rubyist.net/magazine/
・逆引きRuby 【やりたいことから探すWiki、最近元気ないので編集者募集】
http://www.namaraii.com/rubytips/
・はてなキーワード > Ruby 【うっかりどっさりまとまったリンク集、説明なし】
http://d.hatena.ne.jp/keyword/Ruby
・RubyForge 【○○をやりたい管理されたライブラリを探すならここ、英語】
http://www.rubyforge.org/
・GitHub 【○○をやりたいコードをとにかく探すならここ、英語】
http://github.com/
・日本Rubyの会 【最近はオフライン勉強会の寄り合い場と化しているので近くで勉強会があれば】
http://jp.rubyist.net/
0004デフォルトの名無しさん
2010/03/04(木) 11:05:14Rubyについて Part 39
http://pc12.2ch.net/test/read.cgi/tech/1265467681/
●アンチスレ
・Rubyについて(アンチ専用) Part004
http://pc12.2ch.net/test/read.cgi/tech/1249737531/
●Railsスレ
【Ruby】Ruby on Rails Part9
http://pc11.2ch.net/test/read.cgi/php/1266563593/
●Windows用スレ
・【ActiveScript】RubyをWindowsで使うスレ【GUI】
http://pc11.2ch.net/test/read.cgi/tech/1155031689/
●Ruby 1.9 系列スレ
・魁け! Ruby 1.9.X
http://pc11.2ch.net/test/read.cgi/tech/1201603546/
●前スレ
Ruby 初心者スレッド Part 34
http://pc12.2ch.net/test/read.cgi/tech/1264635554/
Ruby 初心者スレッド Part 33
http://pc12.2ch.net/test/read.cgi/tech/1259990485/
Ruby 初心者スレッド Part 32
http://pc12.2ch.net/test/read.cgi/tech/1256332692/
0005デフォルトの名無しさん
2010/03/04(木) 11:08:12・Ruby 1.8.5
レンタルサーバ等にいまだに残ってる非安定な古いバージョン
1.8.6 にすらなってない理由はたぶん管理の手抜きなので怒ってよい
・Ruby 1.8.6
過去の長期政権と数の暴力で一大勢力圏を維持中の旧安定版
公開スクリプトはこれでも動作するべきではあるんだがそろそろ 1.8.7 に譲ってくれ
・Ruby 1.8.7
1.9 シリーズの機能をいくつか足したハイブリッドなバージョン、初学者にこそお勧め
1.9 系機能は 1.8.6 では動かないが「えーマジ1.8.6!? 1.8.6が許されるのは小(AA略」と煽ってよい
・Ruby 1.9.0
不安定にして先鋭機能が超満載の開発版バージョンだったもの
1.9.x は本来全てが開発版の呼称だったのだが、事情が変わって(ここ笑うところ)1.9.1 は安定板に
・Ruby 1.9.1
満を持して登場の 1.9 系列安定板(本体は 1.8.6 程度には使えるということになっている)
本体と添付ライブラリの動作は問題がないのだがgem等外部第三者ライブラリの対応が超適当特に英語圏産
初心者を脱した人が外部ライブラリの開発コミュニティに参加してくれたりすることを期待中
0006デフォルトの名無しさん
2010/03/04(木) 11:41:38OneClickInstaller 使って数年前のバグあり Ruby をわざわざいまさらインストールする必要もないし
RubyInstaller のほうは MinGW32 版なので古い gem ライブラリではバイナリが用意されない
■ とにかく迷いたくない普通の人 … ActiveScriptRuby
ttp://arton.hp.infoseek.co.jp/indexj.html
1.9.1 を使いたい人は
ttp://www.artonx.org/data/asr/
の「Ruby-1.9.1-p数字 Microsoft Installter Package」
■ トラブっても自分で手直しする根性あるから遅くなる可能性ないほうがいい … RubyInstaller
古いコンパイラ製ではない mingw32 版の提供がメイン
ttp://rubyinstaller.org/download.html
古いgemパッケージでWindows環境だとみなしてくれずにコンパイラが走って「make がない」と言われること有り
それを乗り越えるためにコンパイラ環境が入ってる「Development Kit」をインストールしておくのを推奨
ttp://wiki.github.com/oneclick/rubyinstaller/development-kit
7zip 対応のアーカイバでないとダウンロードしたファイルを展開できないので注意
「mingw32」をWindows版とみなさないスクリプトがまだあるので、それは自力で毎回書き換える必要あり
0007デフォルトの名無しさん
2010/03/04(木) 13:29:20,/ ノ ヽ ~\
/ ノ IPA ヽ ~\
/ ノ ヽ、 `ヽ
| ノ / ̄\ / ̄~ヽ ヽ i
| ノ | ノ
\ | <●> <●> ( )
\ | | | i /
| / ヽ レ
i (●_●) /
i、 ,-――-、 ・ /
i、 <(EEEEE)> ∵/ >>1 乙ぴょん
i、 \ ./ /
\ ーー ,ノ
,,.....イ.ヽヽ、ー-―一ノ゙-、.
: | '; \_____ ノ.| ヽ i
| \/゙(__)\,| i |
0008デフォルトの名無しさん
2010/03/04(木) 18:32:00設定したら怒られたので
0009デフォルトの名無しさん
2010/03/04(木) 18:42:06どんなオプションを指定して怒られた?
0010デフォルトの名無しさん
2010/03/04(木) 18:42:290011デフォルトの名無しさん
2010/03/04(木) 18:50:55OneClickInstallerでも1.8.7や1.9.1があるけど駄目なのか?
0012デフォルトの名無しさん
2010/03/04(木) 18:56:09どこ?
One-Click Installer は 1.8.6 で終了して RubyInstaller に変更されたもんだとばかり
0013デフォルトの名無しさん
2010/03/04(木) 18:59:34http://rubyinstaller.org/download.html
0014デフォルトの名無しさん
2010/03/04(木) 19:01:10うん、で、どこ?
0015デフォルトの名無しさん
2010/03/04(木) 19:01:550016デフォルトの名無しさん
2010/03/04(木) 19:10:55なってない
Ruby オフィシャルの One-Click Installer は依然として
http://rubyforge.org/frs/download.php/47082/ruby186-27_rc2.exe か
http://rubyforge.org/frs/download.php/29263/ruby186-26.exe を指してる
RubyInstaller の存在を公式として紹介してるのは英語ページだけ
http://www.ruby-lang.org/en/downloads/
0017デフォルトの名無しさん
2010/03/04(木) 19:20:13の各環境用バイナリのOne-Click Ruby Installer for Windowsのリンク先は
RubyInstallerになってるよねって。
0018デフォルトの名無しさん
2010/03/04(木) 19:31:02何を指定したかは問題ではありません。
指定可能なオプションを知りたいのです。
0019デフォルトの名無しさん
2010/03/04(木) 19:35:320020デフォルトの名無しさん
2010/03/04(木) 19:54:46たのしいRuby 第2版 Rubyではじめる気軽なプログラミングって本も読んだけどあれは
初心者向けじゃないな、というより本読むのが得意な人じゃないとキツそうだ。
プログラミングの本は〇〇の絵本がやっぱり初心者には最適だと思う。
0021デフォルトの名無しさん
2010/03/04(木) 19:58:28たしかに小中学校でプログラミング教えるには
たのしいRubyは少しハードルが高いかもしれないな
0022デフォルトの名無しさん
2010/03/04(木) 20:00:30ruby --help で出てくるのはすべてを網羅していないので、man ruby
0023デフォルトの名無しさん
2010/03/04(木) 20:01:300024デフォルトの名無しさん
2010/03/04(木) 20:12:05アンク兄貴オッスオッス
初心者にとって独学はどんな本を買ったって難しいよ
逆に言えば誰か教えてくれる人がいれば多少難しい本でもどうってことはない
0025デフォルトの名無しさん
2010/03/04(木) 20:15:00なってない
依然として One-Click Installer を指している
http://rubyinstaller.org/download.html から One-Click Installer が無くなってもそのままだったら考えてもいい
0026デフォルトの名無しさん
2010/03/04(木) 20:19:09編集が追いついてないってことで勘弁してやって
リンク先にも"Legacy"って書いてあることだし
0027デフォルトの名無しさん
2010/03/04(木) 20:33:02ありがとうございました。当方Windows環境なのでman rubyできません。
てっきりman rubyに記載されていることはRubyリファレンスマニュアルで
網羅されているだろうと思っていましたがman rubyにしか記載がないものもあるのですね。
0028デフォルトの名無しさん
2010/03/04(木) 20:36:59公式的にはいきなりRC2を推すわけにはいかんということなんだろうなとか思ってる
RubyInstaller正式版が出ればOneClickInstallerの記述は消えると思う
0029デフォルトの名無しさん
2010/03/04(木) 20:41:11に関連して質問なんですけど
Rubyのコマンドラインオプションで指定できて
RUBYOPTで指定できないオプションってあるんですか?
Rubyのmanpageにもそんなことは書いてないので疑問に思いました。
0030デフォルトの名無しさん
2010/03/04(木) 20:44:33これ以外はrubyが切り落とすかエラーにするはず
0031デフォルトの名無しさん
2010/03/04(木) 20:53:25。
なお、環境変数のRUBYOPTには、-W, -w, -v, -d, -I, -r, -K, -E, -T
オプションを自由に組み合わせて指定できる。
ソースコードを除く公式ドキュメントでは見つけられなかった。
誰か捕捉plz.
0032デフォルトの名無しさん
2010/03/04(木) 20:55:16VMwarePlayerを導入してUbuntuをセットアップしRubyを追加してman rubyしたところ
-Tも入れて10種が指定可能なようです。
Note that RUBYOPT can contain only -d, -E, -I, -K, -r, -T, -U, -v, -w, -W, --debug,
--disable-FEATURE and --enable-FEATURE.
0033デフォルトの名無しさん
2010/03/04(木) 21:01:02-n -p -a -F -i -l -0 -S -C -x などはワンライナー向けなので常時
指定された状態になっては困る。
--help とか --version とか --copyright などは「表示して終わり」
のタイプだから環境変数に設定するもんでもない。
とか理由はわからんでもないんだけどね。
0034デフォルトの名無しさん
2010/03/04(木) 21:06:100035デフォルトの名無しさん
2010/03/04(木) 21:10:370036デフォルトの名無しさん
2010/03/04(木) 21:12:170037デフォルトの名無しさん
2010/03/04(木) 23:38:01中間コードインタプリタ
0038デフォルトの名無しさん
2010/03/05(金) 01:17:110039デフォルトの名無しさん
2010/03/05(金) 01:34:14しかも Rails をかぶせた Ruby は Ruby であって Ruby ではないからなぁ
004038
2010/03/05(金) 01:52:34Pコードのファイルを生成する訳ではないのですね。
当時の2次記憶装置は一般的には、カセットテープだったので。
そのカセットテープのモーターの制御のリレーの接点を「微小時間測定器」で測定すると、
1回目と、2回目以降では明らかな違いがありました。
t検定する必要がないくらい。
中間コードをファイルにはき出したりしたのは、80186のCOBOLの頃かと。
これは、中間コードを実行するために、××の環境が必要とかで、
販売戦略的な意味合いが強い感じ。
嫌われ者の年寄りは、もう寝る。
0041デフォルトの名無しさん
2010/03/05(金) 02:03:17YARVが処理するためにパース後のASTから
生成されるバイトコードだと思われ
つまり>>37はYARVが好き==1.9が好きだってことだ
0042デフォルトの名無しさん
2010/03/05(金) 02:04:37めんどくさいと思ってる人は多そうだけど
004338
2010/03/05(金) 02:16:56私も
ruby 1.9.1p376 (2009-12-07 revision 26041) [i686-linux]
を常用しています。
実行速度が、速いから。
暇なので、パズルの解法のコードなんぞを書いておりますが、
棺桶が近いので、あんまり待って居られない。
0044デフォルトの名無しさん
2010/03/05(金) 02:21:000045デフォルトの名無しさん
2010/03/05(金) 02:23:000046デフォルトの名無しさん
2010/03/05(金) 02:27:470047デフォルトの名無しさん
2010/03/05(金) 02:29:410048デフォルトの名無しさん
2010/03/05(金) 02:51:56なんかPascal処理系の印象が強い気がする
0049デフォルトの名無しさん
2010/03/05(金) 08:17:43単に BASIC の内部表現ってだけだったと思うけど。
中間コードを「Pコード」と呼ぶと思い込んでるだけなんでない?
0050デフォルトの名無しさん
2010/03/05(金) 10:32:07(等価(同値)はWikipediaを見て理解しました。)
Rubyだと以下のどれがどれなんでしょう?
1. object_id が一致
ex. 1.equal? 1 #=> true
1.0.equal? 1.0 #=> false
2. クラスが一致 + 値が一致
ex. 1.0.eql? 1.0 #=> true
1.eql? 1.0 #=> false
3. クラス不一致 + 値が一致
ex. 1 == 1.0 #=> true
4. 比較して大小つかず
ex. 1 <=> 1.0 #=> 0
元ネタはZDNet Japanの記事「プログラマーの力量を見極める」
ttp://japan.zdnet.com/sp/feature/07tenthings/story/0,3800082984,20409456,00.htm
です。
0051デフォルトの名無しさん
2010/03/05(金) 10:50:00BASICのほうのPコードはMS用語。pseudocodeのことらしい。
0052デフォルトの名無しさん
2010/03/05(金) 10:52:06Rubyはそのへんただのメソッドで、各々のクラスのメソッド定義で動作が自由に変わる
それぞれのクラスのそれぞれのメソッドのマニュアル読め
一般的には
euqal? は Object#equal? そのままで ObjectID の同一性を比較する
eql? は多くの場合 Object#eql? そのままで「オブジェクトのハッシュ値」の同一性を比較する
オブジェクトのハッシュ値は Object#hashで、再定義されることも多い(通常は ObjectID)
== は多くの場合クラスごとに再定義され、そのクラス固有の同一性判定(「意味上同じっぽい」かどうか)を行う
a = URI.parse("http://example.com/") と b = URI.parse("http://EXAMPLE.com/") は
object_id が違うので equal? は偽を返す
eql? は #hash の値が内部表現の配列の hash に再定義されてて、
内部配列的にはハッシュ同等ではないので真を返す
['http', 'example.com', '/'].hash == ['http', 'EXAMPLE.com', '/'].hash が偽
== はこれも再定義されてて、ホストが大文字でも小文字でも規格上は同一とみなさなければならないので
そのように細工された上で何らかの手段で比較されて真を返す
というわけで、Rubyではその手の問答は向かない
0053デフォルトの名無しさん
2010/03/05(金) 11:00:57原文を参照すると、 equality と equivalence の違いを問われているんだけど、
これ数学的な話なのかねえ。
Ruby的にはともかく、数学的には
x ※ x であり(反射律)
x ※ y であるとき y ※ x であり(対象律)
x ※ y かつ y ※ z であるとき x ※ z である(推移律)
ような関係 ※ を equivalence という。
equality はそのうち通常等号(=)で表される(相等)関係。
他の equivalence の例としては、
「整数の世界で、nで割ったときの余りの等しさ」とか、図形の
「合同」(形のみ。向きは考えない) 「相似」(加えて比率も考えない)とか。
0054デフォルトの名無しさん
2010/03/05(金) 11:07:58やっぱ原文たどったよな
これ日本語に訳した人が悪いわ
0055デフォルトの名無しさん
2010/03/05(金) 11:09:39> eql? は #hash の値が内部表現の配列の hash に再定義されてて、
> 内部配列的にはハッシュ同等ではないので
偽を返す、だな
0056デフォルトの名無しさん
2010/03/05(金) 11:24:310057デフォルトの名無しさん
2010/03/05(金) 11:26:32equalityとequivalenceの違いがわかるというのは数学的な素養が
あるか否かを見極める質問という感じですかね。
0058デフォルトの名無しさん
2010/03/05(金) 11:28:49あとは「ファイルコピーの関数を書いて欲しいが何か質問は?」と聞く
0059デフォルトの名無しさん
2010/03/05(金) 11:37:00いわゆる等価と等値の区別がつきますか質問でしかないようだが
なんで数学とかよくわからん話になってるのん
0060デフォルトの名無しさん
2010/03/05(金) 11:40:34日本語での等価と等値がおおむね一緒だからだよ
0061デフォルトの名無しさん
2010/03/05(金) 13:14:070062デフォルトの名無しさん
2010/03/06(土) 02:46:260063デフォルトの名無しさん
2010/03/06(土) 03:08:27ただ、Rubyの場合はオブジェクト指向的な整理がされているし
それぞれの述語の意味も違う
0064デフォルトの名無しさん
2010/03/06(土) 03:19:41できた実行ファイルにはCygwinのDLLがなにやら色々入ってないみたいなんです。
Ocraで実行ファイル作成時に出るDependencyリストにも無いファイルが無いというエラーが作った実行ファイルから
はかれるんですが、どうやったら調べられるのか、どのCygwinのDLLを同じフォルダにコピーしたらいいのか、
しってはるひといらはりますか?
0065デフォルトの名無しさん
2010/03/06(土) 04:31:33ttp://www.amazon.co.jp/gp/product/4797357401/
3月31日発売
0066デフォルトの名無しさん
2010/03/06(土) 05:45:46>REXML::Parsers::StreamParser.new('日本語', listener)
Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8
となるのですが、バグですかね?
環境:fedora10、ruby 1.9.2dev (2010-03-06 trunk 26825) [i686-linux]
006766
2010/03/06(土) 05:48:310068デフォルトの名無しさん
2010/03/06(土) 08:39:100069デフォルトの名無しさん
2010/03/06(土) 09:05:45REXMLとかXMLParserとか。それぞれ向き不向きがあるので、とりあえず触ってみると良い。
0070デフォルトの名無しさん
2010/03/06(土) 09:11:43REXML::Parsers::StreamParser.new('<?xml version="1.0" encoding="utf-8"?><xml>日本語</xml>', nil)
これは通る。
xmlのエンコーディングってどうやって省いたときはどうなるのが
正しいんだっけ……
0071デフォルトの名無しさん
2010/03/06(土) 09:25:14BOMもエンコーディング宣言もなければ
文書はUTF-8で書かれているものと想定するだろね
007266
2010/03/06(土) 10:30:08>>70
考えてみれば、XMLではない文字列を通す必要は無いんですね。
1.8では通ってたので、勘違いしちゃいました。
0073デフォルトの名無しさん
2010/03/06(土) 10:45:37読んでるのは間違いのような気もするな。識者求む。
rexml/source.rb
class IOSource#initialize
0074デフォルトの名無しさん
2010/03/06(土) 10:55:28BOMの判定としてどうなのってこと?
1.9はめんどくさいね
関連でこういうのも
http://www.clear-code.com/blog/2009/5/11.html
0075デフォルトの名無しさん
2010/03/06(土) 11:03:07こういう新刊情報ってどうやって入手してるの?
ソフトバンククリエイティブの新刊情報にはまだ出てないし、
amazonでも検索に引っかからないし
googleの検索結果にはかろうじて出てくるから
キーワードをダイレクトで指定してそれを
スクリプトか何かでチェックしてるのか?
0076デフォルトの名無しさん
2010/03/06(土) 11:10:55出版社でもないからネ.
0077デフォルトの名無しさん
2010/03/06(土) 11:13:440078デフォルトの名無しさん
2010/03/06(土) 11:16:36めんどくさくねえよ
むしろ1.8のほうが「2文字」読み込むのに難儀する
2文字読むのと2バイト読むのとメソッドがきちんと分かれてる1.9のほうがわかりやすい
添付なんだし誰か突っ込んどけという説はあるな
REXMLなんて使ってる人いないんだろうなという感じの
0079デフォルトの名無しさん
2010/03/06(土) 11:49:54ありがとう。使ってみる。
0080デフォルトの名無しさん
2010/03/06(土) 12:09:160081デフォルトの名無しさん
2010/03/06(土) 15:21:58searchでは見える&installでは見えないという状況です。
% gem search -r rubyzip
*** REMOTE GEMS ***
rubyzip (0.9.4)
rubyzip2 (2.0.1)
viva-rubyzip (0.9.1.2)
% gem install rubyzip
ERROR: could not find gem rubyzip locally or in a repository
ほかのgemでも同じ状況でした。
環境はFedora12 on VirtualBoxです。
0082デフォルトの名無しさん
2010/03/06(土) 18:40:480083デフォルトの名無しさん
2010/03/06(土) 18:45:42ブツは http://gems.rubyforge.org/gems/rubyzip-0.9.4.gem にある
ようだな。とりあえず gem install --verbose rubyzip
>>82
どの?
0084デフォルトの名無しさん
2010/03/06(土) 19:10:310085デフォルトの名無しさん
2010/03/06(土) 21:33:00http://www.ruby-lang.org/ja/man/html/Win32API.html
これでいいのか?
0086デフォルトの名無しさん
2010/03/06(土) 21:54:25と思っているんですが簡単に実現出来る方法はないでしょうか?
Linux環境だとgnome2つかって下記のように簡単に作れるみたいですが・・・・
http://alohakun.blog7.fc2.com/blog-entry-809.html
0087デフォルトの名無しさん
2010/03/06(土) 22:29:20すげぇw
0088デフォルトの名無しさん
2010/03/06(土) 22:33:59install 時も -r を付ければいいような気もしますが、どうですか?
0089デフォルトの名無しさん
2010/03/06(土) 22:55:48ブラウザって方法次第ではこんなに簡単に作れるのか・・。Rubyブラウザいいねえ
0090デフォルトの名無しさん
2010/03/06(土) 23:05:100091デフォルトの名無しさん
2010/03/06(土) 23:07:310092デフォルトの名無しさん
2010/03/06(土) 23:23:48Tk→OpTcl→InternetExplorer
どっちにしてもRubyの関わる分はたいそう少ない
0093デフォルトの名無しさん
2010/03/07(日) 00:38:05win32oleでIEコンポーネント操作すりゃいいんじゃないかね。
前にC#でやったことがあるが、COMがわかってりゃ別段困難ではない。
0094デフォルトの名無しさん
2010/03/07(日) 00:42:460095デフォルトの名無しさん
2010/03/07(日) 01:10:25RubyでGUYツール作れますか?
C#のようにマウスでコントロール配置できたりしますか?
0096デフォルトの名無しさん
2010/03/07(日) 01:11:250097デフォルトの名無しさん
2010/03/07(日) 01:16:470098デフォルトの名無しさん
2010/03/07(日) 01:25:560099デフォルトの名無しさん
2010/03/07(日) 01:33:05ttp://jp.rubyist.net/magazine/?0001-RubyGUI#l10
この記事の内容って今も大きい変化ない?
0100デフォルトの名無しさん
2010/03/07(日) 01:38:58合併して、今は3rdRail以外にTurboRubyなんての出してたのね。
0101デフォルトの名無しさん
2010/03/07(日) 01:41:30と思いつつ機能一覧を見たら、3rdRailからRails関連を取っ払っ
た感じだった。
0102デフォルトの名無しさん
2010/03/07(日) 01:42:300103デフォルトの名無しさん
2010/03/07(日) 01:46:250104デフォルトの名無しさん
2010/03/07(日) 01:53:11コードエディタとかついてないとイヤなの?
0105デフォルトの名無しさん
2010/03/07(日) 02:04:210106デフォルトの名無しさん
2010/03/07(日) 02:06:42どうなんだ
0107デフォルトの名無しさん
2010/03/07(日) 02:20:370108デフォルトの名無しさん
2010/03/07(日) 02:27:29いいねそれ
遊んでみよう
0109デフォルトの名無しさん
2010/03/07(日) 07:04:30こちらでは問題なくインストールいけたが
Ubuntu 9.04 on coLinux
0110デフォルトの名無しさん
2010/03/08(月) 11:29:43遅いレスだが情報サンクス
半信半疑でやってみたがあっさり動いた(Ubuntu9.04)
おもしろいね
0111デフォルトの名無しさん
2010/03/08(月) 12:48:25ぐぐってみるとWebアプリケーションとのことだけど
Windowsデスクトップアプリを主に作る場合はおすすめできないですか?
0112デフォルトの名無しさん
2010/03/08(月) 12:52:12> Windowsデスクトップアプリを主に作る場合はおすすめできないですか?
1ミリもおすすめできません
とても大雑把には C# で試してみることをおすすめします
物足りないなら他の Java なりなんなりを使えばよろし
C# で挫折しないなら他の言語も我慢できましょう
0113デフォルトの名無しさん
2010/03/08(月) 13:51:13このご時世にコンソールアプリケーションが基本とか華がないにも程がある
得意分野が狭いからわかりやすいんだけどさ
これでデフォルトでウィンドウ制御しないといけないとかだったらめんどくて吐く
0114デフォルトの名無しさん
2010/03/08(月) 14:18:23freeze って実際はどんなときに使うの? マニュアル読まない人用?
あと、TypeError という汎用な例外が出るのはなんで?
ModifyFrozenObject とかそういう特有の例外ならよかったのに
0115デフォルトの名無しさん
2010/03/08(月) 14:32:39いろいろな使い方があると思うけど
俺は簡単な書き捨てスクリプトに主に使ってる
ファイルの名前を書き換えたりとか,複数のファイルからデータ
抽出してまとめ直すとか,ファイルのデータフォーマット変えるとか
そういうのを大量に行いたい時使うこと多い
C++とかで書いても良いけどこういうのはrubyの方が楽
逆に手の込んだもの書く時はC++の方が楽というか安心
単に慣れの問題かも知れんが
0116111
2010/03/08(月) 14:43:33覚えていると良いらしいので簡単だと言われている
RUBYをやってみようと思ったのですが
実際どういう感じで使われているのかがよくわからなくて
質問させていただきました
WEBアプリを作ることはまずないんですが
>>115さんのようなことができるならちょっと興味があります
0117デフォルトの名無しさん
2010/03/08(月) 14:50:22やめとけ
君の考えているようなものではない
0118デフォルトの名無しさん
2010/03/08(月) 15:00:05例外について。
あまり例外の階層構成については細かく考えられていない。
現在TypeErrorを返している一部はArgumentErrorを返すべき(逆だった
かも)といった指摘も現在進行形で存在する。数学のほうの例外
体系もErrnoとは分けて作るような動きがあったかな。
0119デフォルトの名無しさん
2010/03/08(月) 15:05:13使ってるの普通にWindowsだろうしな
コマンドプロンプトの使用の概念から慣れていかないと
RubyがLinuxやらCGIやらと親和性が強くて便利だと言われる理由は
「普段使ってるもの」をRubyスクリプトで直接パワーアップさせることができるから
普段からコンソール使ってコマンドラインプログラムを利用してるLinuxやCGIなんかの場合は
Rubyで作ることができるものがそれそのものと同種のものだから、即取り入れることができる
それこそ、覚えた日から即生活が豊かになる
しかしWindowsは違う
ごく一般的にはウィンドウアプリケーションじゃないとどうにもならん
そして、それは「Rubyを使うべき分野」ではない(苦行の趣味に近い)
0120デフォルトの名無しさん
2010/03/08(月) 15:09:450121デフォルトの名無しさん
2010/03/08(月) 15:51:300122デフォルトの名無しさん
2010/03/08(月) 16:12:21Rubyがそれほど簡単だとは思わないけど。
0123デフォルトの名無しさん
2010/03/08(月) 16:35:37ただし、プログラミング初心者には難しい
リアル師匠にあたる人がいればなんてことないが、これはどの言語でも同じか
Perlは基本がわからないわけではないんだがなんともいえず挫折した、とかいような素養で充分なんだが
それに該当するものをRuby単体独学で身につけるのは意外と辛いしRubyの役目かどうかもちと怪しい
0124デフォルトの名無しさん
2010/03/08(月) 16:40:59という経緯をたどった俺には Ruby はどんぴしゃべったりで一生もの
「ちょっと遅いけどでも許す」ということを本当に口に出して言ったことをよく覚えている
Ruby1.4 くらいだったかなあ
0125デフォルトの名無しさん
2010/03/08(月) 16:43:450126デフォルトの名無しさん
2010/03/08(月) 16:44:390127デフォルトの名無しさん
2010/03/08(月) 16:48:07めっちゃ平たく言うと完全初心者を歓待するためのドキュメント準備がない
こんなとこでもいまだに適切な分野の人員不足が足引っ張ってる状態
書籍ならなんとかなりそうな気もするんだが、オンラインでもある程度あったほうがいいよね
PerlとかPythonとかはnewbieを扱うための準備をかなり前からしてる
Rubyはどっちかってと「わかってる人向け」で突っ走ってきたので
0128111
2010/03/08(月) 16:51:19ネットも繋がないといけない?ようで気味悪いので削除しました
皆様ありがとうございました
0129デフォルトの名無しさん
2010/03/08(月) 16:53:59ubuntuいれちゃうぞー
0130デフォルトの名無しさん
2010/03/08(月) 16:57:520131デフォルトの名無しさん
2010/03/08(月) 17:01:47というかそのへんは本スレでやれ
0132デフォルトの名無しさん
2010/03/08(月) 18:34:28それまでの慣れや経験に依るだろうね
Unix, Linuxを使って来てシェルスクリプト,sed, awk 等
使ってきた人間だと簡単に感じる
本一冊(hunt/thomas)通勤中読んでいたらすぐに簡単なものは書けるようになった
確かにターミナル使ったことない人にはわかりにくいだろう
0133デフォルトの名無しさん
2010/03/08(月) 19:09:23いきついた場所がRubyということですね
0134デフォルトの名無しさん
2010/03/08(月) 19:14:54真面目にそんなこと言っているのだとしたら、そうとう恥ずかしいぞ。
0135デフォルトの名無しさん
2010/03/08(月) 20:32:510136デフォルトの名無しさん
2010/03/08(月) 20:36:120137デフォルトの名無しさん
2010/03/08(月) 22:47:110138デフォルトの名無しさん
2010/03/08(月) 23:07:400139デフォルトの名無しさん
2010/03/08(月) 23:12:27windowsユーザーだってRuby使ってるぜ
0140デフォルトの名無しさん
2010/03/08(月) 23:49:53教祖自らウィンドウズ使ってないしねえ。
教祖と同じデビアンから入信してみるのがいいんじゃ?
まあシェルでまずは挫折して逃げ出すと思うが。
http://pc11.2ch.net/test/read.cgi/linux/1267107714/
Debian GNU/Linux スレッド Ver. 63
http://pc11.2ch.net/test/read.cgi/linux/1154631461/
Debian原理主義者テラモエス
0141デフォルトの名無しさん
2010/03/09(火) 00:03:360142デフォルトの名無しさん
2010/03/09(火) 00:42:22課題というのは、仕事でつかってるIBM系のメインフレームのデータセット?
という1レコード3Kbyte程度のバイナリファイルをFTPでおとしてきて
読み込み加工して出力し、またメインフレーム上に戻す(できれば)という
ものです。
そのバイナリファイルとは別に、項目名と、その項目の値は何バイト目から
何バイトがPACだ、小数点以下は何桁だ、CHARだというレイアウトファイル
なるものがあります。文字コードはEBCDICというものらしいです。
このままじゃデータをエクセルに落して、手作業でやらされる羽目になります。。。
どう料理していけば良いでしょう?
0143デフォルトの名無しさん
2010/03/09(火) 00:44:40バイナリファイルの扱い自体は別に困難じゃない。
unpackして適当に加工してまたpackすりゃいい。
問題はEBCDICの扱いになるかな。なんかライブラリあったかなあ?
0144デフォルトの名無しさん
2010/03/09(火) 00:52:39pack,unpackの扱いについては、このあたりで良いですか?
ttp://www.ruby-lang.org/ja/man/html/pack_A5C6A5F3A5D7A5ECA1BCA5C8CAB8BBFACEF3.html
0145デフォルトの名無しさん
2010/03/09(火) 00:56:11Rubyはそのへんを助けるようなことはしない
0146デフォルトの名無しさん
2010/03/09(火) 01:04:49金融機関の人間だけど、そういう場合は必ずいったんRDBに入れたり最悪でもCSVかTSVに変換してるなぁ。
つまり汎用機→情報系用に変換→各種処理→戻し変換→汎用機というルート。
変換にはうちはF*TRANを使ってる。
iconvとかでもEBCDIC扱えるみたいね。
データセットを直接扱うなんて、
リスクが高すぎてうちでは絶対に許してくれない。
0147デフォルトの名無しさん
2010/03/09(火) 01:17:23バイナリ、とは言うが、実はASCIIの文字列かいな。
.txt の処理は、Rubyだとより柔軟にできる訳だが、今からでは、間に合わないでしょ。
SEDとか、AWKのスクリプトも書けないのか、それともそんなものも知らないのか。
おそらく、今から勉強しても間に合わないから、あなたの得意なエクセルで作業をスタート。
あとは、時間との勝負。
だな。
0148デフォルトの名無しさん
2010/03/09(火) 01:19:28なんで伏字にするの?
0149デフォルトの名無しさん
2010/03/09(火) 01:24:450150デフォルトの名無しさん
2010/03/09(火) 01:33:02http://www.bsc.fujitsu.com/services/ftran/
0151デフォルトの名無しさん
2010/03/09(火) 01:34:010152149
2010/03/09(火) 01:41:46音(的には)P-TOSのなんとかに似ているね。
0153デフォルトの名無しさん
2010/03/09(火) 01:42:02こんなのあるのか。笑ってしまった。
0154デフォルトの名無しさん
2010/03/09(火) 02:31:05まさにその茨の道を進もうとしてるようですよ。
>>147
正直よくわかんね!ってところだからですよ、ええ('A`)
学生の頃も本職になった今もC++で離散系のシミュレーションとかやりつつ時期によっては
しょぼいエクセルの業務システム作りをやってますよ。(VBA嫌いなので得意じゃない)
sed,awkはそんなものがあるのは知ってたけど,perlでやってました。
バイナリとはいいつつ、ファイルレイアウトを見ると間違いなくパック10進数といった類
の補足説明があるので文字だけってことはないようですね。
とまあそんな自己紹介はいいから、とりあえず明日明後日ともうちょっと下調べして出直
してくる。納期もあってないようなもんなのでまったりやりますよ。
>>146手掛かりくれてありがとう。
0155デフォルトの名無しさん
2010/03/09(火) 12:01:13freeze は(少なくとも組み込みや添付では)破壊的動作のメソッドの動作を禁止させるフラグ立て
def hoge!
raise "can't modify frozen Hoge" if self.frozen?
...
end
というメソッド定義に「自分でする」
破壊的動作や内部構造への再代入をされるとどっかに @foo||= なんかで残ってるインスタンス変数とかが
変更前のまま残ってて場合によっては食い違い動作の原因になりそうだとか
そういうおそれがあるクラスに提供する
ぶっちゃけこれ使わずに「お前が困る動作組み合わせは全部書いてあるからちゃんとマニュアル読め」でもいい
マニュアル読まない人が(あるいはうっかりで)よくないタイミングで破壊的動作をしてしまっても
変更して欲しくないとタグ付けされたオブジェクトだったらメソッド動作の時点でエラー出して守ってあげよう、
そんな若さと渋さの間で揺れるナイス・サーティのアナタに贈る鼻歌みたいな応援歌
0156デフォルトの名無しさん
2010/03/09(火) 12:32:47a.freeze
a.frozen? #=> true
a[0].frozen? #=> false
なんだよな。
当然といえば当然なんだが。
0157デフォルトの名無しさん
2010/03/09(火) 12:36:24それは a つまり Array の freeze メソッドの動作に依存する
配列中の全要素に freeze を適用するという動作にしても構わない(不便だとは思うが)
Array#freeze がそういう「外の入れ物だけフリーズさせる」ような動作にたまたまなってるだけ
freeze の実装自体はもっと柔軟に対処が可能
0158デフォルトの名無しさん
2010/03/09(火) 12:50:48def hoge!
raise_if_frozen
…
end
とか
def hoge! … end
freeze_method :hoge!
とかいう仕組みを作って簡易に利用できるほうがよかったと思う
0159デフォルトの名無しさん
2010/03/09(火) 12:58:03うまい構文糖や実装ポリシーが
熱心に研究されていないんじゃないかなあ
0160デフォルトの名無しさん
2010/03/09(火) 13:11:390161デフォルトの名無しさん
2010/03/09(火) 13:11:510162デフォルトの名無しさん
2010/03/09(火) 13:44:44と
if hoge && !fuga.empty?
どっちがいい?
どっちでもない別の表現がいい?
0163デフォルトの名無しさん
2010/03/09(火) 13:46:31if fuga.size > 0
は
unless fuga.empty?
にした方がいいんだろうか?
どれもお好きなようにっていう程度だろうか
0164デフォルトの名無しさん
2010/03/09(火) 14:07:25字面が違うから意味が違う
が、fuga が配列みたいなもんなら、俺は empty? の活用をまず考える
empty? を使うことで否定要素が複数混じってしまうようならすっぱり諦めて size の比較とかにする
そんな感じ
あと配列なら Enumerable 由来の any? とか all? とかの利用も考えるといい
0165デフォルトの名無しさん
2010/03/09(火) 16:21:52書き忘れてましたfugaはArrayインスタンスです
配列であれば162も163もそれぞれ動作は同じですよね?
0166デフォルトの名無しさん
2010/03/09(火) 16:51:22sizeが整数や実数を返す可能性とか考えてる?
0167162
2010/03/09(火) 17:42:10意味が同じなら書き方としてどっちがRubyっぽいのかなと思って
>>162,163で例に出した形の文は今まで前者で書いてたんですけど
empty?を使う方がいいという意見を別のところでも見たので。
特に>>162の方は否定(!)をつけてまでempty?にするのがいいのかどうかってことです
0168デフォルトの名無しさん
2010/03/09(火) 17:49:23!foo.empty? みたいなのにはうんざりしてるのか、
ユーザーの作るライブラリでは相反する述語がセットで定義されてることも多い
&& などで繋ぐ場合は !foo.empty? みたいな記述はけっこう容認されてる雰囲気
if !foo.empty? だけだったら unless foo.empty? 使えという話になるんだけど
0169デフォルトの名無しさん
2010/03/09(火) 18:26:00fuga.size > 0 より断然 fuga.empty? をお勧めします。
理由は、fuga.empty? はまさに「空かどうか」を調べるメソッドであり、やりたいことを明確に示しているからです。
これに対し、fuga.size > 0 は「サイズが0より大きいか」を表しており、「空かどうか」を直接表しているわけではありません。
つまり、fuga.size > 0 より fuga.empty? のほうがより抽象度の高い記述になっています。
なお Ruby では .empty? のほうが若干ですが動作速度が速いはずです。
0170デフォルトの名無しさん
2010/03/09(火) 19:01:570171デフォルトの名無しさん
2010/03/09(火) 19:35:09それで不足ならメソッドに掃き出すことを厭ってはならね
0172デフォルトの名無しさん
2010/03/09(火) 19:41:12微妙なところだな。自分の場合、何年かの周期でふらふらしてる。
0173デフォルトの名無しさん
2010/03/09(火) 19:42:390174デフォルトの名無しさん
2010/03/09(火) 19:44:37社会人が多く、大人の発言
初心者に優しい
Rubyスレ
キチガイ、偏執狂、厨房の巣窟
0175デフォルトの名無しさん
2010/03/09(火) 19:49:56本当はこのへんは対称性があってもいい(なくてもいいが)
うまいメソッド名が思いつかなかったっぽい雰囲気はあるが
0176デフォルトの名無しさん
2010/03/09(火) 19:56:30(誤) さらに加えて
(正) かてて加えて
0177デフォルトの名無しさん
2010/03/09(火) 20:05:28要素が1つでもあるか、という判定としては万能ではないかもなー。
0178デフォルトの名無しさん
2010/03/09(火) 20:11:51> 要素の数が0以外なら真を返す、みたいなメソッドがない
という話が既に
0179デフォルトの名無しさん
2010/03/09(火) 20:18:35…
end
def fusa?
!hage
end
みたいなメソッド定義はよく見る
empty? も時流に乗るべきだとは思う
0180デフォルトの名無しさん
2010/03/09(火) 22:24:10汎用機、オフコンを知らん世代が増えて来たったことだな
z/OSで仕事してたころはデータセットをFTPのBINでダウンロードして
shift-JISに変換とかよくやってたぜ
0181デフォルトの名無しさん
2010/03/09(火) 22:33:530182デフォルトの名無しさん
2010/03/09(火) 22:37:02レスしたのお前だけだぞ
0183デフォルトの名無しさん
2010/03/09(火) 22:41:390184デフォルトの名無しさん
2010/03/09(火) 22:51:59バックグラウンドがたまたま見えただけに過ぎない
0185デフォルトの名無しさん
2010/03/10(水) 04:22:420186デフォルトの名無しさん
2010/03/10(水) 09:11:000187デフォルトの名無しさん
2010/03/10(水) 09:19:08値を返すキーワードが実際は何でできてるのかは使用者からは区別する必要ないよねというポリシーがある
mes(foo) としたとき、foo が変数なのかメソッドなのかは実際どうでもいい
foo という名前が解決されてその結果返されるオブジェクトだけが重要
代入が文脈依存なのはそれなりに面倒
selfの有無で同じ名前を2回使い分けられるということでもあるが
0188デフォルトの名無しさん
2010/03/10(水) 09:26:35local_var()もできないんだし
0189デフォルトの名無しさん
2010/03/10(水) 10:01:42どういうネーミングだよ
0190デフォルトの名無しさん
2010/03/10(水) 10:10:12uri とか
0191デフォルトの名無しさん
2010/03/10(水) 10:34:48-- ここから --
欠陥だらけの悪法、民主党が準備を進めている「子ども手当」がまもなく国会を通過する見込みです。
そこで、この法案に対するクレームを直接政府に届けて、少しでも本法案を阻止できるよう動きませんか!?
クレーム先:http://www.cao.go.jp/sasshin/hatomimi/re_hato/uketsuke.html
ハトミミ「国民の声」 受付窓口
の「■ 一般受付窓口 【おかしなルール(規制・制度)】」に、「基準や要件の見直し」として、本件に関する
抗議をお願いします。実名とメールアドレスが必要となります。○制度の所管省庁 は、厚生労働省です。
なぜ本法案がまずいのか?子ども手当支給対象者、民主党支持者もじっくり考えてみてください。
【子供手当て驚愕の真実】 http://www.youtube.com/watch?v=Y4wuKv8ExeM&feature=related
驚愕の子供手当て http://5959goc.iza.ne.jp/blog/entry/1475880/
2010/3/10付の中日新聞
http://up3.viploader.net/pic/src/viploader1186653.jpg
http://viploader.net/pic/src/viploader1186654.jpg
要件をまとめると、
「外国籍の人間も支給対象」「海外在住の日本人は支給対象外」「養子も支給対象」「財源が赤字国債」
「子どもが外国にいても支給対象」「子どもの存在証明として、法的な力を持つ手段がない」
となります。これにより、以下のことが考えられます。
1. この手当目的に、日本より経済状態が低い外国において不当な養子縁組を作るケースが激増する。
2. この手当目的に、日本にやってくる外国人(特に中国人)が激増する。
3. なによりも、負担は将来の子ども達が背負わなければならない。
国会答弁にて、政府も設計に難があるのは認めていますが、今後検討するという理由で、この欠陥を
そのまま推し進めようとしています。まだ諦めるのは早いです。できる限りの手を尽くしましょう!!
-- ここまで --
0192デフォルトの名無しさん
2010/03/10(水) 10:57:010193デフォルトの名無しさん
2010/03/10(水) 10:58:59レスしたのお前だけだぞ
0194デフォルトの名無しさん
2010/03/10(水) 13:02:57民主は売国政党だからな
0195デフォルトの名無しさん
2010/03/10(水) 17:09:340196デフォルトの名無しさん
2010/03/10(水) 17:36:370197デフォルトの名無しさん
2010/03/10(水) 17:37:07Windowsならhttp://arton.hp.infoseek.co.jp/indexj.html
ただしコマンドプロンプトの知識がどうしても必要
0198デフォルトの名無しさん
2010/03/10(水) 18:11:43return true if (0...1000).include?(x)
return true if (2000...3000).include?(x)
return true if (4000...5000).include?(x)
return false
end
---
def initialize
@arr = []
for i in 0...1000
@arr.push(i)
end
for i in 2000...3000
@arr.push(i)
end
for i in 4000...5000
@arr.push(i)
end
def method2(x)
return @arr.include?(x)
end
上のmethod1とmethod2をそれぞれ呼び出したとき、
結果は変わらないと思うんですが、処理速度に違いは出ますか?
0199デフォルトの名無しさん
2010/03/10(水) 18:49:57case i
when 0...1000, 2000...3000, 4000...5000 then true
else false
end
end
ほんとうに整数ならこれが速くてわかりやすい
整数なのならわざわざ配列作る必要はない
0200デフォルトの名無しさん
2010/03/10(水) 19:22:30for(int i=0;i<=x;x*i)
{
}
0201デフォルトの名無しさん
2010/03/10(水) 19:40:05(0...1000).to_a.include?(x) は配列の要素を一つずつ比較するので当然遅くなる
0202デフォルトの名無しさん
2010/03/10(水) 19:48:120203デフォルトの名無しさん
2010/03/10(水) 20:05:01実際に遅いかどうかプログラム作って確かめてから考えたほうがいい
机上で遅そうだと思っても意外と許容範囲内であることは多い
0204デフォルトの名無しさん
2010/03/10(水) 20:09:020205デフォルトの名無しさん
2010/03/10(水) 20:16:000206デフォルトの名無しさん
2010/03/10(水) 20:18:58どういう原理なんだ?
0207デフォルトの名無しさん
2010/03/10(水) 20:38:420208デフォルトの名無しさん
2010/03/10(水) 22:27:35とりあえずKernel.#sleepによる無限スリープで代用していますが
> sleep(sec = 0) -> Integer
> sec が省略されたり 0 を指定した場合、他スレッドからの Thread#run
> などで明示的に起こさない限り永久にスリープします。
sleep(0) してもすぐ戻ってきやがる。
マニュアルと実際の挙動が違うのはなぜ?
ちなみに引数を省略した場合は仕様通りなんですけど。
0209デフォルトの名無しさん
2010/03/10(水) 22:33:11Process.kill :STOP, $$
じゃだめですかね?
0210デフォルトの名無しさん
2010/03/10(水) 22:34:53ああ、それいいかもです。
ところでKernel.#sleepの挙動がマニュアルと異なるのが気になりますw
sleep(0) ですぐリターンするのは何故でしょう??
0211デフォルトの名無しさん
2010/03/10(水) 22:38:10シェルから sleep 3 を実行すると0秒後に復帰しますし、永久にスリープはしませんね。はい。
0212198
2010/03/11(木) 00:38:23method1の代わりには、ご提示くださったmethod3が確かに良さそうですね
0...1000等はデータ的な数値(整数)で、頻繁に比較するのですが、
データ専用のクラスに数値の配列とmethod2を定義して呼び出し側のクラスから参照して比較したほうが、
呼び出し側のクラス内に直接method1を書くよりも記述のまとまりとしては良いと思ったんです
かと言って、データのクラスにmethod1や3のような記述をしても、
データを管理しているイメージはないですよね
0213デフォルトの名無しさん
2010/03/11(木) 00:58:39ここには0の場合永久スリープとは書いてないな。
RubySpecには
it "pauses execution indefinitely if not given a duration"
(引数がないなら無限に止まる)
はあるけど0を指定した場合の仕様は書いてない。
http://github.com/rubyspec/rubyspec/blob/master/core/kernel/sleep_spec.rb
でもって、るりま
http://doc.okkez.net/static/187/class/Kernel.html
には0だと永久スリープとある。
るりまの間違いだろうか。
0214デフォルトの名無しさん
2010/03/11(木) 01:02:12え、なにそれ
class HogeDataRange
def include?(x)
case x
when 0..1000, 2000...3000 then true else false
end
end
end
puts "13は含まれてるよー" if HogeDataRange.new.include?(13)
とかやる気なの?
0215デフォルトの名無しさん
2010/03/11(木) 01:24:000216デフォルトの名無しさん
2010/03/11(木) 01:26:47あなたができそうだと思っているようなことは全てうまく行えない
と答えるのが一番実態に近いと思うん
説明してだいたいをわかってもらえるような人はそういう聞き方しないので
0217デフォルトの名無しさん
2010/03/11(木) 01:33:050218デフォルトの名無しさん
2010/03/11(木) 02:40:42Rubyのような言語の立ち位置がよく理解できるかと思う
最初からRubyだけ与えられている状態はけっこう不幸だ
だから大学1年の授業にRubyを使うとかいうのは俺はあまりいいと思わん
0220デフォルトの名無しさん
2010/03/11(木) 04:49:39ここの一つ目のサンプルコードをコピペして実行したのですがエラーになってしまいます
それとサンプルのVisualnovelも他のrbファイルを取り込むところで
見つけられないらしくエラーが出てしまいます
requireをしないコードは普通に実行できます
それと実行はRDEでやっています
Pathはbinが環境変数のところで通っています
何がいけないんでしょうか?
XPsp3 Ruby1.8.7 RDE1.1.1.1
C:/DOCUME~1/***/LOCALS~1/Temp/rbF.tmp:1:in `require': no such file to load -- tk (LoadError)
from C:/DOCUME~1/***/LOCALS~1/Temp/rbF.tmp:1
Complete(1)
0221デフォルトの名無しさん
2010/03/11(木) 06:08:590222デフォルトの名無しさん
2010/03/11(木) 10:16:020223デフォルトの名無しさん
2010/03/11(木) 11:27:44http.rbのHTTPGenericRequest#initializeを直に書き換えるのは気持ち悪いよな
0224デフォルトの名無しさん
2010/03/11(木) 11:44:58net/http そのものを弄ることは推奨されない
固定の HTTP ヘッダが必要なら、固定の HTTP ヘッダを追加して Net::HTTP オブジェクトを作るメソッドを作る
0225デフォルトの名無しさん
2010/03/11(木) 11:46:51> 固定の HTTP ヘッダを追加して Net::HTTP オブジェクトを作るメソッドを作る
は
Net::HTTP オブジェクトを作って固定の HTTP ヘッダを追加して返すメソッドを作る
0226デフォルトの名無しさん
2010/03/11(木) 11:57:110227デフォルトの名無しさん
2010/03/11(木) 12:16:18require 'net/http'
# Net::HTTP.version_1_2 # 1.8.7では既にtrue
def http_get(uri, header={})
Net::HTTP.start(uri.host, uri.port) do |http|
req = Net::HTTP::Get.new(uri.request_uri)
header.each_pair{|k, v| req[k] = v}
return http.request(req)
end
end
uri = URI.parse('http://www.ruby-lang.org/')
p http_get(uri, {'Accept-Language' => 'ja'}).response['location']
p http_get(uri, {'Accept-Language' => 'en'}).response['location']
0228デフォルトの名無しさん
2010/03/11(木) 12:19:50という正規表現文字列にマッチする正規表現というのはどう書けばいいんでしょうか。
\/.*?\/
と書いて、中の\/にマッチしないように
\/[^\\\/]*?\/
としてもダメでした。
0229デフォルトの名無しさん
2010/03/11(木) 12:37:150
irb> Regexp.new(Regexp.quote("/aaa\\/bbb/"))
/\/aaa\\\/bbb\//
irb> p "/aaa\\/bbb/".scan(/\/aaa\\\/bbb\//)
["/aaa\\/bbb/"]
nil
irb> p "/aaa\\/bbb/".scan(/\/.+?\\\/.+?\//)
["/aaa\\/bbb/"]
どこまで汎用になればいい?
本当にマッチさせたいものはなに?
0230220
2010/03/11(木) 12:41:00ここに書いてある通り、One clickインストーラーをインストールしたので
tkは自動で入っているらしいのですが
tk.rbで検索してもHDD内のどこにもなかったんですが
やっぱりインストールされていないということなのでしょうか?
0231デフォルトの名無しさん
2010/03/11(木) 12:53:06OneClickInstallerを使って1.8.7になるはずがない
あれは1.8.6しか存在しない
君が使ったのはRubyInstallerで、これはtkライブラリは含まない
Windowsでtkライブラリを使いたいのなら>>6のActiveScriptRubyを使うべき
これならActiveTclが別途入ってればなんとかなる
余談だけど
> 更新日時:2005/11/16 21:36:46
5年も前の記事をほいほい参考にすべきではない
0232デフォルトの名無しさん
2010/03/11(木) 13:47:54Thanks!
やっぱソコソコ手間かかるか
目的を正直に白状すると,デフォルトのUAがアレなので
常時ナチュラルなUAでライブラリを使用したいだけなんだよね
俺仕様ってことで推奨されない方法で行きます
0233デフォルトの名無しさん
2010/03/11(木) 13:53:49str = "hoge/aaa\/bbb/fuga"
re = /\/[^\/]++\/[^\/]++\//
p str.slice(re) #=> "/aaa/bbb/"
0234デフォルトの名無しさん
2010/03/11(木) 13:59:46Net::HTTP を直接使用することは極力避けたほうがいい(第一面倒だ)
自作のスクリプトで何度も使うというのならそのようなライブラリを自作するチャンス
俺は wget を定義して require 'orelib/wget' してしばらく使い回してたぞ
0235232
2010/03/11(木) 14:15:56>極力避けたほうがいい
それはどうして?
net/httpのAPIは結構気に入ってるんだけど
コネクションがスレッドセーフじゃないとか
Errno系の例外が不親切とかそこら辺?
0236デフォルトの名無しさん
2010/03/11(木) 14:28:03システム的な問題ではないと推測
0237220
2010/03/11(木) 15:25:24仰る通り単体のRubyを入れていたようです
oldと書いていたので新しいもののほうがいいと思って
そっちをダウンロードしてしまったみたいです
ActiveRubyをダウンロード
gemのアップグレード
この時点で試しに
require "tk"
したけどエラー、tcltklibbなどtk関連のファイルがあるのに開けないみたい
>これならActiveTclが別途入ってればなんとかなる
この一文がなければここで挫折してました
そしていろいろぐぐっているとVisualuRubyはすでに入っているようなので
こちらでGUIを作りたいと思います
ありがとうございました
0238デフォルトの名無しさん
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(?)するには
どうしたら良いのでしょうか?
0239デフォルトの名無しさん
2010/03/11(木) 17:08:07あんまりよくわからんなりにソースを読んで見たところ(Windows版Ruby1.8.7だとして)
sleep は引数が無いなら WinapiのSleep(INFINITE)で無限に待つみたいで
引数があるなら Winsockのselectっていうのを呼んでた
selectはタイムアウト0秒だとすぐに帰って来るみたいなので
sleep(0) だと sleep() とは違ってすぐに帰ってくるようだ
るりまが間違ってるんじゃないだろうか?
あんまり自信があるわけじゃないので
だれか詳しい人、正確な説明よろしく
0240デフォルトの名無しさん
2010/03/11(木) 17:08:27if File.exist?(outfile)
print "#{outfile} は存在しています。上書きしますか ? (y/[n]): "
$stdout.flush
exit if $stdin.gets =~ /\Ay/i
end
0241デフォルトの名無しさん
2010/03/11(木) 17:09:19flushって言葉を知ってるなら
IOのインスタンスでありprint等の出力先である$stdoutにそれをすればいい
と言えばわかるんじゃないかな
0242238
2010/03/11(木) 17:25:47バッチリ動きました。ありがとうございました。
情けないことに$stdinの方をflushして
動かんなー、と悩んでました・・・。
0243220
2010/03/11(木) 18:02:05TCLフォルダにActiveTCL入れてみたけど実行するとエラーになる
いろんなサイトみて環境変数にパスもちゃんと入れたのに
TCL_LIBRARY TKL_LIBRARY INCLUDE LIBなど
実行するとここを読みに行ってエラー
/Ruby/lib/ruby/1.8/i386-mswin32
ここにもActiveRuby入れたときのTCLがあるのになぜエラー?
もう疲れたよ・・・
0244デフォルトの名無しさん
2010/03/11(木) 18:11:21デフォルトで C:\Program Files\ruby-1.8 にインストールするはずだが
C:\Ruby にインストールされるのは RubyInstaller の Ruby
0245デフォルトの名無しさん
2010/03/11(木) 18:18:22予想外だ
というかRubyでGUIなんかわざわざやろうという人はもっと熟練して賢いもんだと思ってた
0246デフォルトの名無しさん
2010/03/11(木) 18:24:04もう応対がめんどくさすぎる
デフォルトOFFのRubyInstallerの判断は賢い
…正式版じゃないからかもしれないが
どうしてもTkに処理を渡したいとき用のライブラリであって、
Rubyでウィンドウを作るためにあるわけじゃない
なんでRubyでウィンドウアプリケーションを作ろうと考えるのかもう全く理解できない
0247220
2010/03/11(木) 18:32:29まさかインストールするだけで2日かかるなんて
0248220
2010/03/11(木) 18:35:42空白開いてるといけないとかどこかで見たから
デフォルト変えてD;\直下にインストールしただけ
エラー表示されるときのパスもちゃんとインストールされた
場所のTCLを参照しているし、でもエラーが出る
RubyInstallerはActivescriptRubyを入れる前に
ちゃんとアインインストールしました
残ったフォルダも直接削除しましたし
0249デフォルトの名無しさん
2010/03/11(木) 18:38:28簡単だよ
ただ、OS操作とコマンドライン文化に不慣れなプログラミング初心者が独学でやっても簡単だと言った人がいたなら
俺が許可するのでグーで殴れグーで
0250デフォルトの名無しさん
2010/03/11(木) 18:40:00スレのテンプレすら読めない人も追加で
0251220
2010/03/11(木) 18:46:47>なんでRubyでウィンドウアプリケーションを作ろうと考えるのかもう全く理解できない
ここを見たので、この通りやろうとして躓きました
http://jp.rubyist.net/magazine/?0002-FirstProgramming
逆になぜ作ってはだめなのか私にはわかりません
そういった説明もないですし
0252デフォルトの名無しさん
2010/03/11(木) 18:48:50そだな、>>1の注意書きとか読めてないような人にはたぶん無理だな
0253デフォルトの名無しさん
2010/03/11(木) 18:51:41そういった人に騙されないようにしましょう
0254デフォルトの名無しさん
2010/03/11(木) 19:00:11今のお前恐ろしくつまんないんだけど…
0255デフォルトの名無しさん
2010/03/11(木) 19:05:13LinuxでGTKプログラミングやろうとすると多くの人が挫折するし。
0256220
2010/03/11(木) 19:06:06D:/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
参考サイト
http://arton.hp.infoseek.co.jp/indexj.html
http://www.db.is.kyushu-u.ac.jp/rinkou/ruby/activescriptrubyinstallwindows.html
http://lldev.jp/ruby/tips/ruby_tk_install.html
など・・
こんな感じです
0257デフォルトの名無しさん
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 がなんかしてるんだろうと思う
0258デフォルトの名無しさん
2010/03/11(木) 19:29:510259デフォルトの名無しさん
2010/03/11(木) 19:43:461. 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
ウインドウを出すところまでは普通に動くね
0260220
2010/03/11(木) 19:56:49全く同じ結果でエラーも出ませんでした
もしやと思って、test.rbをdblclickしたら普通に起動しました
ruby consoleで
>test.rbとやってもフォームが表示されました
>>258
再起動は何度もしましたが同じ結果でした
>>259
そのTCLはActiveScriptRubyに入っているTCLですか?
それとも別途インストールしたほうのTCLでしょうか?
どこかのサイトにRubyが参照しているライブラリのディレクトリを表示する
コマンドが書かれていたんですけど、閉じてしまってわからなくなった
0261デフォルトの名無しさん
2010/03/11(木) 20:00:39なんなの
0262デフォルトの名無しさん
2010/03/11(木) 20:12:21誘蛾灯みたいなもんだと思う
コマンドプロンプト上から ruby -e "require 'tk'; Tk.mainloop" を実行してウィンドウが出るのに
RDE のエディタ部に require 'tk';Tk.mainloop と書いて F5 押してエラーログが出るなら RDE の問題
0263デフォルトの名無しさん
2010/03/11(木) 20:58:57OSのコマンドを使わずに作りたい
できればwindowsとlinuxのどっちでも動くようにしたい
教えてエロい人!!
0264220
2010/03/11(木) 21:01:03プログラマってこういう人間ばっかりか
0265デフォルトの名無しさん
2010/03/11(木) 21:05:01ソース読んでそういうライブラリ作るとか。
tarは自分で作ったことあるよ。
0266デフォルトの名無しさん
2010/03/11(木) 21:10:030267デフォルトの名無しさん
2010/03/11(木) 21:13:101〜2日くらいしか考えてないんだろ
そんくらいで怒るなよ
みんな親切にしてるじゃないか
0268デフォルトの名無しさん
2010/03/11(木) 21:16:51コマンドじゃなければいいだけなのならほぼ全てのスクリプト言語でできるぞ
その言語環境がインストールされていることが前提だが
というかシェルに展開を任すような処理をしてる言語を俺は知らない
0269263
2010/03/11(木) 21:18:06tarを解凍するコードをRubyで書くのって、面倒じゃないんですか?
Rubyの文法がまだ分からないんでorz
頑張って作ってくれと頼まれたもので..
0270デフォルトの名無しさん
2010/03/11(木) 21:21:00いやtarの展開だけなら数百行でおk。
アーカイブに追加するのは、ちゃんとテストしないと恐ろしいのでやめた。
面倒なら外部コマンドに投げるのが楽。
0271デフォルトの名無しさん
2010/03/11(木) 21:25:18Rubyを知らない人間がRDEを使うのは嫌われる
Ruby on RailsはRubyとは実質無関係なので他所で
Ruby1.9.1はとりあえず初心者は使うな
RubyInstallerはインストール後がめんどくさいから使うな
Rubyで関数と言って教える何かがあったらそいつから即手を切れ
こんなもん?
>>269
それは
「ZIPとTARの仕様構造を自力で調べてそれを展開するようなプログラムを作ることで勉強しろ」
という意味だろうから話がちょっと違う
Rubyは(少なくとも1.8は)いわゆる文字列とバイナリ列は同じなので
○バイト目から△バイト目までをどうにかする、という処理は普通に書ける
もし「外部コマンドがインストールされてないとZip用ライブラリやTar用ライブラリが動作しないのではないか」
と思っているのなら、そんなことはない
普通にインストールされていればRubyは両者をそれこそ3行くらいで展開する
0272デフォルトの名無しさん
2010/03/11(木) 21:27:13それはrubygemからの追加インストールがいるな
0273263
2010/03/11(木) 21:27:41zipを解凍するライブラリーはrubyにもあると思いますが、
rarはライセンスのせいでライブラリーが・・・と思ったので
>>270
さすがに、制限時間があるなかで「Rubyの文法 + 解凍のコード」を
書くのは厳しいですね〜
0274デフォルトの名無しさん
2010/03/11(木) 21:47:28こんなコードがrubyにはあるわけですが、
perlと同じく変数は宣言しなくていいんですか?
最近のperlはmyをつけて、変数を宣言するのが一般的になってきていると思うのですが
0275デフォルトの名無しさん
2010/03/11(木) 21:51:18> その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 でも設定して試してみて
0276デフォルトの名無しさん
2010/03/11(木) 21:55:04Rubyの変数はハコではない
Rubyのデータは全てオブジェクトでどこか「オブジェクト置き場」に厳然と存在してて、
「変数代入」はその置き場に転がってるオブジェクトにその名前のラベルを貼る行為に同じ
ただのラベルだから宣言はいらない
オブジェクトはすでに存在してるわけだし
@var = hoge は hoge の指す(というか hoge の返す)オブジェクトに
「@var」という4文字のラベルをつける行為
…実際は宣言してるはずなんだが、完全に隠蔽されててRubyスクリプトからは見えないし触れないし関われない
0277デフォルトの名無しさん
2010/03/11(木) 22:02:08今はMSのSmall Basicがいいんじゃなかろうか。
0278デフォルトの名無しさん
2010/03/11(木) 22:07:28うん、マニュアルだけ見れば十分な既言語取得済該当言語初心者はいつもそう言う
プログラミング初心者に本当に必要なのは十万の解説と百万のサンプル
0279274
2010/03/11(木) 22:19:12オブジェクトは既に存在していて、オブジェクトに対して名前をつけているってことか?
@var = hogeはjavaでいうと
class Hoge {
Test test;
void setTest(Test t) {
this.test = t;
}}
と同じになるの?
0280デフォルトの名無しさん
2010/03/11(木) 22:24:11ごめん、もうアンインストールした
この2日間、時間の無駄使いしただけだった
0281220
2010/03/11(木) 22:31:58まさに>>278の言う通り
教えてくれても、専門用語だらけでわからない
それでも単語ひとつひとつぐぐりながらこの2日間がんばったが
コード一つ書かないまま、いや、2行だけは書いたが
終わってしまうとはまさに予想外
俺の考えている初心者とプログラマーの初心者の立ち位置が違いすぎた
あなた達とはもう2度と出会うことはないでしょう
さようなら
0282デフォルトの名無しさん
2010/03/11(木) 22:36:06その見地ならJavaが最適ってことで。
でもなぜかJavaを勧める人はあんまりいない、気がする。
0283デフォルトの名無しさん
2010/03/11(木) 22:42:04本当にもう見ていないことを期待して書くが、たとえば
キーボードやマウスの使い方、エクスプローラの使い方なんかは言語の範疇外だ
それと同様、コマンドプロンプトやOSの環境変数、標準のインストーラ動作なんかは言語解説の範疇外
コマンドプロンプトに日本語を表示したら化けたとかそういうのも本来無関係
文字コードって何ですかとかシフトジス?ってなんですかとかそういうの知らないのも問題外
HTTPとURI関連のライブラリ使うならRFC準拠の基礎知識くらいは持ってから来いやポートの説明からか泣くぞオラ
とまあ、どこまで巻き戻ることを想定するかは残念ながらこちらで決めさせてもらわざるを得ないのだ
Rubyさんは貧乏でリソースは有限であるがゆえ
もし他の(お金持ちでそれゆえ親切な)言語でプログラミングの楽しさを身に付けたなら、
そのときは気が向いたときにでも振り返ってRubyを検討してみてくれると嬉しい
0284デフォルトの名無しさん
2010/03/11(木) 22:46:46ここに居る人はどんな環境使ってるんですかね?
自分は会社だとEmacs。家だとEclisp
WindowsだとEmacs使う気が失せるんですよ・・・・。
ちなみに仕事はソフトウェア関連ではなく超初心者です。
0285デフォルトの名無しさん
2010/03/11(木) 22:47:03プログラミングの経験がなくても結構使うまでいける言語である保証は頑張ってしたいところだが、
そこまでの道のりがどなたにも簡単かと言われるとかなり大きな疑問符
0286デフォルトの名無しさん
2010/03/11(木) 22:49:52えまくすくりーんぷてぃー
何らかの手段でLinuxを起動して接続してその上でRuby使うのがたぶん一番妥当
Windows上でRuby使うとかなんかボリショイサーカス見てる気分になる
0287デフォルトの名無しさん
2010/03/11(木) 22:50:44二重のトラップにかかったのが不幸だったといわざるを得ない
『たのしい Ruby 』とか適当な初心者本買って
コマンドプロンプト+テキストエディタでリベンジしてほしいな
地味だけど
0288デフォルトの名無しさん
2010/03/11(木) 22:54:57コマンドプロンプトではエラーなく動作してる時点で
「あっじゃあこっちでやりますRDEはステで」
という判断にならなかったのがなんかもう供養塔立てて忘れないよう祀るレベル
今度から「RubyではGUIできません」と答えることにしようと思う
0289デフォルトの名無しさん
2010/03/11(木) 23:10:44プログラミング初心者ならそれこそ1日や2日でマスターできるもんじゃないんだから、
根気よくやらないといかんよ・・・
毎日プログラミングし続けて3年くらい使い続ければそこそこプログラミングできるようになる。
頑張れ
0290デフォルトの名無しさん
2010/03/11(木) 23:13:57誰にGUIをRubyなら簡単にできると教えてもらったのか知らんが、そいつを殴ってもいいぞ
俺ならC#を押すよ。初心者でもポトペタでいきなりGUIが作れる。
サンプルコードもネットにたくさん。フリーのコンポーネントも一杯ある。
Delphiでゲーム作ってプログラミング覚えた俺だけど、いきなりRubyやってたら多分挫折してる
0291デフォルトの名無しさん
2010/03/11(木) 23:23:23ニートから1年くらいでphp→Rubyと来てtwitter関連のwebサービス立ち上げて、アフィリエイトで飯食ってる。
でもロプロスはRDE使ってるんだよな。
twitter関連のwebサービスのtwilogはユーザー数数万人だが、Railsすら使ってない。
index.cgiだったぞw
何がいいたいかって、GUIじゃなくてwebに興味持てばまだよかったと思う
0292デフォルトの名無しさん
2010/03/11(木) 23:25:560293デフォルトの名無しさん
2010/03/11(木) 23:33:240294デフォルトの名無しさん
2010/03/11(木) 23:37:410295デフォルトの名無しさん
2010/03/11(木) 23:39:29Railsは本命にはならんだろうな
なんだかんだ言ってcgi+javascriptがこの先も主力だろう
0296デフォルトの名無しさん
2010/03/11(木) 23:55:12> なんだかんだ言ってcgi+javascriptがこの先も主力だろう
> なんだかんだ言ってcgi+javascriptがこの先も主力だろう
> なんだかんだ言ってcgi+javascriptがこの先も主力だろう
> なんだかんだ言ってcgi+javascriptがこの先も主力だろう
0297デフォルトの名無しさん
2010/03/12(金) 00:00:440298デフォルトの名無しさん
2010/03/12(金) 00:04:14サイトの数としては後者の方が多くなるだろうけど
0299デフォルトの名無しさん
2010/03/12(金) 00:10:38C++のnamespaceとJavaのpackageが同じに見えるのなら、
moduleも同じだということにしてもいい。
あ、classも同じでいいよ。
0300294
2010/03/12(金) 00:14:15そんじゃ、moduleもpackageみたいに使います
あえて言うなら、何か違いありますか?
今のところ趣味でプログラミングしているんで、namespaceを使うことが無いんだよね〜
だから、namespaceとpackageの細かな違いがわかんない
0301デフォルトの名無しさん
2010/03/12(金) 00:15:24プログラムというよりは「自宅サーバ板」のおまけスレみたいだな
0302デフォルトの名無しさん
2010/03/12(金) 01:15:580303デフォルトの名無しさん
2010/03/12(金) 01:41:29あなたがここに来たのと同じような理由の人がいます
0304デフォルトの名無しさん
2010/03/12(金) 04:47:02RPMとソースインストールを共存させようと思いました。
RPMは/usr/bin、ソースインストールは/usr/local/binに入るので、
位置的には問題なく入ったのですが、
このままだとRPMのrubyが優先的に使われます。
ソースインストールのrubyが優先的に使われるようにするにはどうすればいいですか?
0305デフォルトの名無しさん
2010/03/12(金) 05:11:32Cygwin の Ruby なら簡……と言いかけたがダメだなこりゃw
0306デフォルトの名無しさん
2010/03/12(金) 08:24:01PATH
0307304
2010/03/12(金) 08:45:44よく見たら/usr/local/binが先に書いてあるので
このままでもソースインストールのrubyが優先されました
0308デフォルトの名無しさん
2010/03/12(金) 08:59:020309デフォルトの名無しさん
2010/03/12(金) 10:19:39man 8 alternatives
chkconfigパッケージに入ってる。
0310デフォルトの名無しさん
2010/03/12(金) 11:04:29うん、Linuxのパスについての勉強しれ
rubyインタプリタは自分の場所を考慮して起動用設定ファイルを読むから、
/usr/local/bin/ruby と /usr/bin/ruby と /home/ore/usr/local/bin/ruby くらい違えば小細工ゼロで共存するはず
0311デフォルトの名無しさん
2010/03/12(金) 12:47:400312デフォルトの名無しさん
2010/03/12(金) 13:14:551.2くらいの頃が一番よかった
0313デフォルトの名無しさん
2010/03/12(金) 13:35:05一旦アンインストールしてから再インストールしたほうが所要時間的には早いよね
アップデート対象のgem一覧を返して終了する、みたいなオプションがないのが辛い
0314デフォルトの名無しさん
2010/03/12(金) 14:00:197-zipインストールを前提にした上で、それをコマンドラインから叩くのが楽かな。
0315デフォルトの名無しさん
2010/03/12(金) 14:15:22win32のゲームの配布でRubyスクリプト使ってアーカイブ作ってたときは、俺も7zip使ってたな。
外部コマンドあるならそっちも手っ取り早い
0316デフォルトの名無しさん
2010/03/12(金) 14:34:25今までRailsやってて、るりまのchmと
↓で配布されてたchmと(更新停止中)、
http://d.hatena.ne.jp/kabus/20081202
あとは最新のは http://railsapi.com/doc/rails-v2.3.5_ruby-v1.8/ とか見てたんですが、
るりまはともかく、railsのchm配布サイトが更新されてなかったり、
最後のサイトはprivateメソッドやnodocのものが乗ってなかったり、不便に感じてます・・・。
こういう不便さを解消できるものでしょうか?
また、ri入れるとRubyGemsのインスコが激遅になるんで使ってないんですが
(.gemrcに gem: --no-ri --no-rdoc とか書いてます)、
普通はri使うもんなんでしょうか?
0317デフォルトの名無しさん
2010/03/12(金) 14:45:15基本的にはソース読む
公開されてる部分のドキュメントが内容を正しく反映しているとは限らないし、
端折られてる部分の重要性のほうが高いことがほとんどだから
というかほとんどの場合:nodoc:の使い方が不正
nodocにするべきではないものまでガンガンnodocにしてある
privateメソッドを内部で呼んでいるならその動作もpublicメソッドのドキュメントに反映すべきだし
privateメソッドだからといって説明をしなくてもいいということには絶対にならない
ちなみに「Rubyにはprivateやprotectedは不要」派でございます
0318デフォルトの名無しさん
2010/03/12(金) 15:34:10自分が参考にする大まかな順番
1.ri(マクロでエディタから呼び出せると便利)
2.自動生成したUMLクラス図
3.ヘルプファイルや書籍(親切・有名なプロジェクトなら)
4.Google先生
5.ソースコード・テストファイル・スペックファイル
6.自動生成したコード片のコールグラフ(ソースに黒魔術満載の場合)
7.職場のネ申
8.2chで祈りを捧げる(時間をつぶすともいう)
9.諦める
riとrdocは中身は同じだからrdocでもいいと思う。好みで。
0319デフォルトの名無しさん
2010/03/12(金) 16:26:18教祖が使ってるデビアンから入る必要が有るし。特に広く一般に普及してるウィンドウズからは敷居が高い。
0320デフォルトの名無しさん
2010/03/12(金) 16:31:50>ちなみに「Rubyにはprivateやprotectedは不要」派でございます
リファクタリングのコストが高くなりすぎないか?
0321デフォルトの名無しさん
2010/03/12(金) 16:33:37お前Ruby以外使ったことないだろ
0322デフォルトの名無しさん
2010/03/12(金) 18:44:12foo = "foo.c"
File.extname(foo) = ".o"
とするとエラーが出ます
0323デフォルトの名無しさん
2010/03/12(金) 18:51:521.9 なら Pathname('foo.c').sub_ext('.o').to_s で。
1.8 なら素直に文字列置換。
0324デフォルトの名無しさん
2010/03/12(金) 18:57:48# 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"
0325デフォルトの名無しさん
2010/03/12(金) 19:23:30ActiveScriptRubyと公式な実装(ビルドが沢山ある?)があるみたいですが
0326デフォルトの名無しさん
2010/03/12(金) 19:25:51C#なら何も悩むことはないよ
0327デフォルトの名無しさん
2010/03/12(金) 19:27:05C#ならファイル名変更なんて簡単に一行でできるのに
かわいそw
0328デフォルトの名無しさん
2010/03/12(金) 19:30:20sub_extなんてものがあったのですね。
ありがとうございます。勉強になりました。
以前リファレンスを探したときは見つけられませんでしたので見直しましたが
やはり1.9のリファレンスにsub_extがありません。
>>324
違います
0329デフォルトの名無しさん
2010/03/12(金) 19:31:04(Windowsで動作するようなソースは取り込まれているが、コンパイルしたものそのものは配布していない)
バイナリはすべて有志の個人またはネット上の第三者プロジェクトの提供による
あとは>>6
これでは端折ったが要はActiveScriptRubyがMSWin32でRubyInstallerがMinGW32
この言葉が理解できないならこれ以上の情報は不要なので素直にActiveScriptRuby使え
これはほぼ全てのスクリプトでWindows環境だと思ってもらえる
通常の利用上の問題はないから
0330デフォルトの名無しさん
2010/03/12(金) 19:36:13windowsで公式な実相が無いなら、適当に選ぶことにしますわ
thx
0331デフォルトの名無しさん
2010/03/12(金) 19:38:10riには普通にあったよ
るりまにはないようだ
0332デフォルトの名無しさん
2010/03/12(金) 19:39:34ftp://ftp.ruby-lang.org/pub/ruby/binaries/
これはどういう位置づけなの?
0333デフォルトの名無しさん
2010/03/12(金) 19:46:00適当に選んでは駄目
実用上、コンパイラが何かということよりも
プラットフォーム文字列にwin32の文字列が含まれているかどうかが重要
C:\>ruby -e "p RUBY_PLATFORM"
"i386-mswin32"
mingw32はRubyに慣れた人向け
スクリプトの修正とかできない人が使ったらどーでもいいとこで詰まるぞ
0334デフォルトの名無しさん
2010/03/12(金) 19:49:13こんぱいるしたひとがるびーのさばにふぁいるをおいてる
インストーラつきじゃないから少なくとも初心者スレで話題に出すようなもんでもないかと
0335デフォルトの名無しさん
2010/03/12(金) 19:54:58そういやこれは結局どうなったんだっけ
本気で「ふぁいるおきば」以上の意図はないんだっけ
根性入れて更新するけど公式にサポートしたバイナリではないとかそんな立ち位置なんだっけか
0336デフォルトの名無しさん
2010/03/12(金) 19:58:21実はWindows系とMacOSXとFreeBSDは同じレベルにあるんだよな。
とてもそんな扱いを受けているようには見えないが。
0337デフォルトの名無しさん
2010/03/12(金) 19:58:500338デフォルトの名無しさん
2010/03/12(金) 20:05:450339デフォルトの名無しさん
2010/03/12(金) 20:13:260340デフォルトの名無しさん
2010/03/12(金) 20:13:38Pythonのように、インストールすれば即座にTkも使える状態になってれば
少しは違ったんだろうか…
かといって、VisualuRubyを推すのもどうなんだという気もするし…
アレはWindows限定だし…
言語の作者自身が「Windowsなんか知らね」属性の人だったのが
そもそも不幸の始まりだったのだろうか…
Windows嫌ってる人って、GUIも否定的な人が多い印象もあるし
0341デフォルトの名無しさん
2010/03/12(金) 20:13:400342デフォルトの名無しさん
2010/03/12(金) 20:14:070343デフォルトの名無しさん
2010/03/12(金) 20:24:04<INPUT type="text" name="width" value="50">
print Wdh
Wdh =Wdh / 2
としたところ、
undefined method `/' for "":String
と怒られてしまいました。右も左も分からないので解決策をご教示願います。
0344デフォルトの名無しさん
2010/03/12(金) 20:25:04とりあえず、てきとうな解説サイト(お勧めは特にない)か本読め
0345343
2010/03/12(金) 20:25:16print Wdhの結果は何も表示されませんでした。
0347デフォルトの名無しさん
2010/03/12(金) 20:40:360348デフォルトの名無しさん
2010/03/12(金) 20:43:31適切ではあったとは思う
変数の規則知らない上にエラーの読み方わからんのではさすがに遠隔ではどうにも
0349デフォルトの名無しさん
2010/03/12(金) 20:45:44変換しろ、ってだけのことなんだけど。
cgiがCGIクラスのインスタンスだとして、こいつの返すパラメータはかなり
変態なので、今後もいろいろ罠に掛かるかもしれない。
0350デフォルトの名無しさん
2010/03/12(金) 20:53:25>Wdh
>print Wdhの結果は何も表示されませんでした
0351デフォルトの名無しさん
2010/03/12(金) 20:59:49たのしいRuby 第3版
http://www.amazon.co.jp/dp/4797357401/
0352343
2010/03/12(金) 21:25:59すみません、Wdhが読み込まれてない原因はHTMLのFORM文にミスがあったせいでした。
>>349
個人的にRubyの変数に型はないからString/Integerは気にしなくておkという先入観があったのですが、この先入観はトチ狂ってるのですね。
エラーは脱せていませんがおすすめの書籍と関連サイトで粘ってみようと思います。ありがとうございました。
0353デフォルトの名無しさん
2010/03/12(金) 21:28:19オブジェクト(値・モノ)には型(クラス)がある。
これは、変数はどんな型のオブジェクト(値・モノ)でも指せるってこと。
0354デフォルトの名無しさん
2010/03/12(金) 21:29:51へぇそうなんだ
riはファイル数削減のため削除した
ウィルスチェックを毎日フルスキャンする義務があるんで
消したらだいぶスキャン時間が短くなった
0355デフォルトの名無しさん
2010/03/12(金) 21:33:08いつ剥がれるか(変数名で参照できる範囲)は決まってるが、貼る先のオブジェクトは区別しない
0356343
2010/03/12(金) 21:41:39なるほど、ラベルに入ったオブジェクトの型は明示してやる必要があるのですね。
アドバイス通りに検索するとすぐに解答がありました。
Wdh=cgi["width"].to_i
として解決しました。
0357デフォルトの名無しさん
2010/03/12(金) 21:52:41違う
Rubyには型は存在しない
クラスは型ではない
>>353は誤り
0358デフォルトの名無しさん
2010/03/12(金) 21:56:580359デフォルトの名無しさん
2010/03/12(金) 22:01:380360デフォルトの名無しさん
2010/03/12(金) 22:08:36一時期オブジェクトの説明に間違って使われたタイヤキの鋳型(flask)が後を引いて…はいないか
0361デフォルトの名無しさん
2010/03/12(金) 22:11:13あれは「型」という字にはタイプとテンプレートと鋳型の3つがあるということを失念した例示だったと思う…
タイプやテンプレート相当のものを持った言語を中途半端に習った人大混乱
0362デフォルトの名無しさん
2010/03/12(金) 22:15:51というかたのしいRubyってタイヤキの例え使ってなかったか
0363デフォルトの名無しさん
2010/03/12(金) 22:25:27うん使ってる
言われてみれば言葉の選び方的にあまりよくないな
鯛焼きのカタという言葉は「変数の型」を想起させて混同させる可能性があるのか
第3版が出ようかというときに新しすぎる知見だろそれ
鋳型ならいい?
0364デフォルトの名無しさん
2010/03/12(金) 22:34:09>>363の言葉選びのポイントがよくわからん
0365デフォルトの名無しさん
2010/03/12(金) 22:44:17型ってのはそもそも値の集合と操作の集合なので
別にRubyに使ってもなんもおかしくない
んでクラスとインスタンスは英語で言うところのaとtheの関係なので
タイヤキの鋳型とタイヤキでなんも問題ない
0366デフォルトの名無しさん
2010/03/12(金) 22:51:37クラスを従来の変数の型のようなものとして誤解してしまう可能性があるという話では
>>356のように
0367デフォルトの名無しさん
2010/03/12(金) 23:02:35型ってそもそもなによって話とは無関係
0368デフォルトの名無しさん
2010/03/13(土) 00:09:45Windowsならスレッドがちゃんと動くが他のプラットフォームだと動かない、
とかいう罠があったりしたこともあるので、なかなか侮れない。
0369デフォルトの名無しさん
2010/03/13(土) 00:13:400370デフォルトの名無しさん
2010/03/13(土) 00:24:07「U+2295」が文字列という前提で
(0.入力文字列の書式をチェックします。)
1.分割します。
U+ … ポイ
22 … 1バイト目
95 … 2バイト目
2.1バイト目と2バイト目をごにょごにょします。Array#pack() 、かなあ?
0371デフォルトの名無しさん
2010/03/13(土) 00:27:09require 'nkf'
s = 'U+3042 U+3044 U+3046'
puts NKF.nkf('-w, --numchar-input', s.gsub(/U\+(\d+)/){"#{$1};"})
0372デフォルトの名無しさん
2010/03/13(土) 00:32:54> /U\+(\d+)/
16進数じゃない?
/U\+([0-9a-fA-F]{4,6})/
でいける?
0373デフォルトの名無しさん
2010/03/13(土) 00:37:46間違ってるぞ
puts NKF.nkf('-w, --numchar-input', s.gsub(/U\+([\da-f]+)/i){"#{$1};"})
0374デフォルトの名無しさん
2010/03/13(土) 00:52:391.9だと簡単なんだけど
0375デフォルトの名無しさん
2010/03/13(土) 01:20:47require 'nkf'
sikaru = NKF.nkf('-w, --numchar-input', %w(20B9F).map{|s| "#{s};"}.join)
p sikaru
puts sikaru
$ ruby -Ku ./a.rb
a.rb:2: [BUG] Segmentation fault
ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux]
うひょう
0376デフォルトの名無しさん
2010/03/13(土) 04:18:360377デフォルトの名無しさん
2010/03/13(土) 05:37:51"U+20B9F".gsub(/U\+([0-9A-Fa-f]{4,6})/){[$1.to_i(16)].pack("U*")}
>>371
-w, の , が余計
037866
2010/03/13(土) 05:57:18Encoding::CompatibilityError: incompatible character encodings: UTF-8 and US-ASCII
となるのですが、これはバグ?
ちなみに実際やりたいことは、Tempfile.open('あ') です。
環境:fedora11、ruby 1.9.2dev (2010-03-06 trunk 26825) [i686-linux]
0379デフォルトの名無しさん
2010/03/13(土) 06:46:02なにこれ
0380デフォルトの名無しさん
2010/03/13(土) 10:12:06searchっていちいち入力するの面倒いだけど、searchの短いオプションって無いの?
0381デフォルトの名無しさん
2010/03/13(土) 10:50:10>>379
そりゃ君のパソコンがプア過ぎるのだよ
気になるなら -V をつけて gem install -V hogehoge すると固まったような時間帯に何してるのか見える
"Building native extensions. This could take a while..." はCで書かれたファイルをコンパイル中(ものによっては遅い)
ごっついライブラリだと定番ライブラリを10個くらい追加インストールするからどんなマシンでも一見とても遅いぞ
来週くらいに gem -V update しても遅いならまたおいで
>>380
sea
なにこれ超中途半端
正確には先頭から文字列にマッチするコマンド探してるので、s と se では複数マッチしてエラー
$ gem s mechanize
ERROR: While executing gem ... (RuntimeError)
Ambiguous command s matches [search, server, sources, specification, stale]
$ gem se mechanize
ERROR: While executing gem ... (RuntimeError)
Ambiguous command se matches [search, server]
$ gem sea mechanize
*** LOCAL GEMS ***
mechanize (1.0.0, 0.9.3)
0382デフォルトの名無しさん
2010/03/13(土) 11:01:06PythonのPython Image LibraryみたいなRubyの画像処理ライブラリってありますか?
0383デフォルトの名無しさん
2010/03/13(土) 11:13:21ありません
ImageMagickインストールしてgem install rmagickするしかないねえ
0384デフォルトの名無しさん
2010/03/13(土) 11:13:50Rubyから呼び出して使うことが多いと思う。
RMagick(ImageMagickのライブラリを使用)
Ruby/GD2(GD2を使用)
Rcairo(cairoを使用)
など。
ImageMagickは機能過多だ、サムネが作りたいだけなんだという
人向けにImageScienceというのもあるな。サムネ作成専用。
0385デフォルトの名無しさん
2010/03/13(土) 11:15:29スレの勧めないバージョンインストールしておきながら
お勧めなら引っかからない基本的エラーで文句言うような人はスルー
というのが正しいかと思う
お勧めでなくても入り口以外で引っかかってるなら質問どうぞ
0386デフォルトの名無しさん
2010/03/13(土) 11:19:17バグっぽい気がしたのでチケット切ってみた。 #2955
0387デフォルトの名無しさん
2010/03/13(土) 11:21:38なるほど、ありがとうございます。
画像出力より入力の機能の方を重視したいので
PILと同程度のライブラリとなるとImageMagickをつかないといけないんですか・・・
FFIするならGIL辺りが良さそうですね。
参考になりました。
0388デフォルトの名無しさん
2010/03/13(土) 11:23:540389デフォルトの名無しさん
2010/03/13(土) 11:32:34間違ってるならあとから正せばいい
質問者には数時間くらいは待ってもらえるといいかもしれん
0390デフォルトの名無しさん
2010/03/13(土) 11:55:34俺は面倒だから工夫してる。何度も同じコマンドうつのはDRYじゃあるめえ
Windowsなら以下の内容をgems.batとしてパスが通ったところに置いておき、コマンドラインで gems hoge で検索
gem.cmd search --details --both --all %*
Unix系でbashなら、~/.bashrcに以下を書いておいて gems hogeで検索
alias gems="gem search --details --both --all"
あくまで例なのでコッチのほうがいいとか指摘してください
0391デフォルトの名無しさん
2010/03/13(土) 11:58:15誰か言ってなかった?
0392デフォルトの名無しさん
2010/03/13(土) 12:03:40* 自分好みに環境をカスタマイズしてこそUNIXのシェルだろJK派
どっちを選ぶも自由
039366
2010/03/13(土) 12:03:56ありがとうございます!
文句を言いたいわけじゃなく、バグなのか仕様なのか自分の勘違いなのか自信が持てないから、
このスレを利用させてもらっちゃったんですが、相応しくなかったみたいですね。
すみません。
もう書くの止めときます。
0394380
2010/03/13(土) 12:46:52seaね、ありがとう
>>390
linuxを使っているならaliasを使うけど、
今はwindowsを使っているからそんな方法があるなんてわからんかったよ
0395デフォルトの名無しさん
2010/03/13(土) 12:55:191.9.1だったなら俺も>>385に同意だけど、1.9.2devは本スレが妥当じゃないかな
0396デフォルトの名無しさん
2010/03/13(土) 12:55:540397デフォルトの名無しさん
2010/03/13(土) 13:11:180398デフォルトの名無しさん
2010/03/13(土) 13:45:08固定された意味はないけど
質問
エンコーディングプラグマ、通称マジックコメント、は、
該当するマルチバイト文字のようなもんが書かれてないようなライブラリを
自作して公開する場合はつけないほうがいい?
0399デフォルトの名無しさん
2010/03/13(土) 13:45:510400デフォルトの名無しさん
2010/03/13(土) 13:48:35app = Qt::Application.new(ARGV)
hello = Qt::PushButton.new('Hello World!')
hello.resize(100, 30)
hello.show()
app.exec()
テストコード(コピペ)を動かそうとしているんだけど、動かない
>C:\Ruby\lib\ruby\gems\1.8\gems\qtruby4-2.1.0-x86-mswin32\lib\ はちゃんとあるんだけどね
環境変数が問題なのかな?
0401デフォルトの名無しさん
2010/03/13(土) 13:52:19動かないのならエラーメッセージを貼っておくれ
スクリプトをダブルクリックして実行したのなら
コマンドプロンプトから実行して
0402デフォルトの名無しさん
2010/03/13(土) 13:59:360403デフォルトの名無しさん
2010/03/13(土) 14:08:030404デフォルトの名無しさん
2010/03/13(土) 14:09:59書かない場合は US-ASCII を指定したのと同義。
ASCII文字しかないなら書いても書かなくても結果は同じ。
8ビット目が立ったシングルバイト文字は入れてないよね?
0405デフォルトの名無しさん
2010/03/13(土) 14:12:27riかrdocか。
gem server を起動して http://localhost:8808/ でも読める。
0406デフォルトの名無しさん
2010/03/13(土) 14:13:090407400
2010/03/13(土) 14:14:30test.rb:1:in `require': no such file to load -- Qt4 (LoadError)
from test.rb:1
見てのとおりライブラリの読み込みに失敗しています
http://let-your-heart-soar.txt-nifty.com/blog/2008/07/qtqtrubywindow_82d9.html
この通りにやって、C++のチュートリアルは動くようになっています
でも、こんな事をやってqtrubyに関係あるのか疑問
>>402
ruby gtk2を使おうかなと思ったけど、gtk+のライブラリ全然わかんないから
linuxでもqtrubyが動けば、linuxで開発してwindowsでexeを作ろうかな〜と
それに、2週間くらい前にこんな本を買ったし
>入門 Qt 4 プログラミング
>ttp://www.oreilly.co.jp/books/9784873113449/
0408デフォルトの名無しさん
2010/03/13(土) 14:15:52gemディレクトリ/ruby/1.8とか/doc/ の中にファイルが入ってるので好きなときに読め
ActiveSriptRubyの場合はC:\Program Files\ruby-1.8\lib\ruby\gems\1.8\doc\
0409デフォルトの名無しさん
2010/03/13(土) 14:17:57require 'rubygems'
require 'Qt4'
0410デフォルトの名無しさん
2010/03/13(土) 14:25:42US-ASCIIなソースにUS-ASCII以外のマジコメを書く場合?
0412デフォルトの名無しさん
2010/03/13(土) 14:44:08HTMLファイルでいいならシェルから
gem environment
した出力の
- GEM PATHS:
の1行目(になかったら2行目)の場所の doc ディレクトリの中に
0413デフォルトの名無しさん
2010/03/13(土) 16:20:070414デフォルトの名無しさん
2010/03/13(土) 16:25:32http://doc.okkez.net/187/view/help
0415デフォルトの名無しさん
2010/03/13(土) 16:26:05ふつうコメントの直後にスペースをひとつ挟むから
# => value だよな
はちどりのRuby本もそうなってる
0416デフォルトの名無しさん
2010/03/13(土) 16:39:23まあ、書籍向けの表現だと思う
0417デフォルトの名無しさん
2010/03/13(土) 17:23:40ERROR: could not find gem XXXX locally or in a repository
何これ?
0418デフォルトの名無しさん
2010/03/13(土) 17:33:320419デフォルトの名無しさん
2010/03/13(土) 17:33:47その質問に至った経緯をまず聞こうか
0422420
2010/03/13(土) 17:39:280423デフォルトの名無しさん
2010/03/13(土) 17:39:54自分で入力せずに素直にbash,zshの補完機能に頼った方がいいと思う
0424デフォルトの名無しさん
2010/03/13(土) 21:46:53三項演算子とかと一緒に使うと読みにくいと思います
お前らはどうやっていますか?
return windows.visible? ? 値A : 値B
0425デフォルトの名無しさん
2010/03/13(土) 22:07:58return (windows.visible?) ? 値a : 値b
0426デフォルトの名無しさん
2010/03/13(土) 22:10:57window.visible? A : B
と書いて怒られることはよくある。
0427424
2010/03/13(土) 22:13:57そんじゃ気にしないようにしますわ
0428デフォルトの名無しさん
2010/03/13(土) 22:20:29不自然感を感じてるうちにifとかに書き換わるのでむしろラッキー
0429デフォルトの名無しさん
2010/03/13(土) 23:03:17def each
@array.each do |e|
yield(e)
end
end
def each(&block)
@array.each(&block)
end
どちらが好ましい書き方なんでしょうか?
0430デフォルトの名無しさん
2010/03/13(土) 23:27:40irb1.9> class C; include Enumerable; def initialize; @a=[1,2,3]; end; def each(&b); @a.each(&b); end; end
irb1.9> p C.new.each
#<Enumerator:0x931483c>
irb1.9> class C; include Enumerable; def initialize; @a=[1,2,3]; end; def each; @a.each{|e| yield(e)}; end; end
irb1.9> C.new.each
LocalJumpError: no block given (yield)
0432デフォルトの名無しさん
2010/03/14(日) 00:00:430433デフォルトの名無しさん
2010/03/14(日) 00:10:16にやればよさそうだけど、今回は無理に使うこともないな。
0434デフォルトの名無しさん
2010/03/14(日) 00:16:420435デフォルトの名無しさん
2010/03/14(日) 00:19:420436デフォルトの名無しさん
2010/03/14(日) 00:21:15それこそBasicの制御構造レベルの知識だけある人のほうが吸収早そう
0437デフォルトの名無しさん
2010/03/14(日) 00:44:12return windows.visible?? a : b
疑問符を二個つなげてすげー疑問って雰囲気を醸し出す
0438デフォルトの名無しさん
2010/03/14(日) 00:48:41$ ruby -ve "puts File.expand_path('あ', '/'.force_encoding('US-ASCII'))"
ruby 1.9.2dev (2010-03-13 trunk 26909) [x86_64-darwin10.2.0]
/あ
0439デフォルトの名無しさん
2010/03/14(日) 02:15:40前者の書き方しか知らなかった。
0441デフォルトの名無しさん
2010/03/14(日) 08:44:470442デフォルトの名無しさん
2010/03/14(日) 11:49:30Mixinは実装を持ったインターフェイスみたいなもんだから、
moduleはmoduleを継承する事ができるの?
0443デフォルトの名無しさん
2010/03/14(日) 12:18:51乙乙!!
0444デフォルトの名無しさん
2010/03/14(日) 12:24:46> moduleはmoduleを継承する事ができるの?
そもそも文法的に継承できない(module M2 < M1 は SyntaxError)
メソッド検索順位のひとつ上にモジュールをぶちこむ include を使う
module M1; def m; "M1!"; end; end
module M2; include M1; end # M2 の上に M1
module M3; include M2; end # M3 の上に M2
module M4; include M3; end # M4 の上に M3
class C; include M4; end # C の上に M4
p C.new.m
p C.ancestors # 継承とインクルード込みの検索優先順位を表示
結果
"M1!"
[C, M4, M3, M2, M1, Object, Kernel]
検索順位的には継承と同じなので実用上の問題はない
class C1; end
class C2 < C1; end
class C3 < C2; end
p C3.ancestors #=> [C3, C2, C1, Object, Kernel]
0445デフォルトの名無しさん
2010/03/14(日) 12:40:440446デフォルトの名無しさん
2010/03/14(日) 12:46:49よくねー
人間を継承した俺がいたとして、翼が欲しいと思ったら
class 俺 < 翼
end
するのか? 俺は翼の一種なのか? 俺は翼の子分か? 人間且つ翼の俺って何?
翼って機能だろ
class 俺
機能追加 翼
end
とするのが筋だろ、わかりやすいし、渾然一体になる継承よりは機能外すのも簡単そうだ
だから翼はモジュールにして、includeで追加する
実際は
俺 = 人間.new(params)
俺.extend(翼)
とするのが妥当ではあるがまあ細かいこと気にするな禿げるぞ
0448デフォルトの名無しさん
2010/03/14(日) 23:18:08○与えられたディレクトリに対して再帰的にファイルを全て削除する
○ただし.txt拡張子が付くファイルのみ削除しない
プログラミングに不慣れながらこんなスクリプトを書こうと思い、以下のようになりました。
#!/usr/bin/ruby
require 'fileutils'
ARGV.each do |i|
FileUtils.rm(Dir.glob(i + '**/*[^(txt)]'), :force => true)
end
突っ込みどころなどありましたら教えていただけないでしょうか。
簡単なテストをすると意図したように動くのですが少し不安なので質問させていただきました。
自分で怪しいと思ってる箇所は以下の2箇所です。
�@ i + '**/*[^(txt)]' こんな指定の仕方でいいのだろうか
�AそもそもFileUtilを使うべきなのか
宜しくお願いします。
0449デフォルトの名無しさん
2010/03/14(日) 23:25:51他のスレから飛ばされてきたなら、
飛ばされましたって書かないとダメだよ
0450デフォルトの名無しさん
2010/03/14(日) 23:39:50死んでいいよ
0451デフォルトの名無しさん
2010/03/14(日) 23:41:46否定形なのはRubyでやったほうが無難だと思う
Dir.glob(i.sub(/\/?$/,'/**/*')).reject{|e| test(?d,e) or e =~ /\.txt$/i}
0452デフォルトの名無しさん
2010/03/14(日) 23:43:52そもそもグロブでいいのか。
0453デフォルトの名無しさん
2010/03/14(日) 23:45:01noop = verbose = ARGV.include?(':noop')
ARGV.each do |s|
pathlist = Dir.glob(File.join(s, '**/*'))
pathlist.delete_if{|path| File.extname(path) == '.txt'}
pathlist.each do |path|
FileUtils.rm(path, :force => true, :noop => noop, :verbose => verbose)
end
end
$ ruby ./del.rb tgtdir :noop
0454デフォルトの名無しさん
2010/03/14(日) 23:45:48最後の文字が 開き括弧 でも t でも x でも t でも(アゲイン) 閉じ括弧 でもない
という意味になるんじゃないか?
0455デフォルトの名無しさん
2010/03/14(日) 23:48:11next ですっ飛ばしていいと思う
require 'fileutils'
noop = verbose = ARGV.include?(':noop')
ARGV.each do |s|
Dir.glob(File.join(s, '**/*')).each do |path|
next if File.extname(path) == '.txt'
FileUtils.rm_r(path, :force => true, :noop => noop, :verbose => verbose)
end
end
0456デフォルトの名無しさん
2010/03/14(日) 23:48:38それはない
0457デフォルトの名無しさん
2010/03/14(日) 23:56:02x.c x.doc x.tex x.txt
$ ruby -ve 'p Dir.glob("*[^(txt)]")'
ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
["x.c", "x.doc"]
0458デフォルトの名無しさん
2010/03/14(日) 23:57:180459デフォルトの名無しさん
2010/03/14(日) 23:58:400460デフォルトの名無しさん
2010/03/15(月) 00:00:420461デフォルトの名無しさん
2010/03/15(月) 00:01:320462デフォルトの名無しさん
2010/03/15(月) 00:04:39テンプレ読めない奴はカエレ
暴れるなら本スレでやr
0463デフォルトの名無しさん
2010/03/15(月) 00:05:490464デフォルトの名無しさん
2010/03/15(月) 00:11:10どこをゴルフと誤認したのか気になる。
0465デフォルトの名無しさん
2010/03/15(月) 01:18:470466デフォルトの名無しさん
2010/03/15(月) 01:54:20OSはWindows7です
0467デフォルトの名無しさん
2010/03/15(月) 01:55:110468デフォルトの名無しさん
2010/03/15(月) 02:22:10「再帰的」と書かれていますが、別に find を使うような要件ではなく
引数のディレクトリ直下のみ走査すればよさそうなので、こんなかんじ
ではいかがでしょうか。
require 'pathname'
ARGV.each do |d|
Pathname(d).children.each do |f|
f.unlink unless f.extname == ".txt"
end
end
# Pathname は標準添付ライブラリだから使ってもいいよね
ところで、Ruby に限らず Perl でも Python でも glob ってシェルの
ワイルドカード展開のエミュレートだと思いますが、機能としては中途半
端(文字列の単純比較 < glob < 正規表現活用)ですし、プラットフォーム
毎に微妙な挙動差も考えるとムダにドツボにはまりそうですし、(少なく
とも「初心者」は)あまり積極的に使わない方がよくない?
0469デフォルトの名無しさん
2010/03/15(月) 02:33:02書いてるあなたがすでにglobの罠にはまっているという。
再帰的に走査したいんだよ。> **/
0470デフォルトの名無しさん
2010/03/15(月) 02:42:35というか普通はこれしか使わない
残りは返ってきた配列に入った文字列を正規表現とかでどうにかする
短く1行で書かないと家にいる妻がスナイパーに撃たれるとかそういう時にのみグラブ条件を書く
0471デフォルトの名無しさん
2010/03/15(月) 04:18:210472468
2010/03/15(月) 05:11:59うへ、自分がドツボにはまっていました、というか **/* の意味を
知らんかった orz
>>470
を参考に Pathname.glob でも使えばよいのでしょうが、あえて
Find 利用ということで:
require 'pathname'
require 'find'
Find.find(*ARGV) do |f|
t = Pathname(f)
t.unlink if t.file? and t.extname != ".txt"
end
0473デフォルトの名無しさん
2010/03/15(月) 05:24:32強要しているのはスナイバーかと。>>470 は愛妻家なんですね。
0474デフォルトの名無しさん
2010/03/15(月) 08:55:460475デフォルトの名無しさん
2010/03/15(月) 09:57:07グラブ文字処理はメソッド独自だから、明白な全抜き出し以外は正規表現などを駆使、という方向性は妥当
グラブ処理の時点で小細工すると後々遺恨になるぞ
0476デフォルトの名無しさん
2010/03/15(月) 10:41:360477デフォルトの名無しさん
2010/03/15(月) 12:43:17まずはテンプレくらい嫁よ
・ActiveScriptRubyをインスコ
・るびまのchmをダウンロード
・NetBeans IDE(統合開発環境)をインスコ
これでなんとかなるだろ。Rails開発ならcoLinuxかPortableUbuntu入れろ。
0478デフォルトの名無しさん
2010/03/15(月) 12:44:12あ、あと、c:\Program Files\以下にはRubyをインスコしない方がいいみたい。
RubyGemsが動作しないとかの報告があった
(今のバージョンはどうかしらん)
0479デフォルトの名無しさん
2010/03/15(月) 12:53:050480デフォルトの名無しさん
2010/03/15(月) 13:02:44c:\usr\local\ruby
とかにインストールした方が精神衛生上よろしい気がする
UACとか入るとそう簡単にはいかないんだろうけど
0481デフォルトの名無しさん
2010/03/15(月) 13:17:04ねこび〜んはダメだね
コードの補完が遅すぎて使えない
0482デフォルトの名無しさん
2010/03/15(月) 13:35:16ttp://d.hatena.ne.jp/kitamomonga/20100202/ruby_watir_crash_with_autoitx3
まあこれは間違えるほうが悪いんだけれども
0483デフォルトの名無しさん
2010/03/15(月) 14:06:24javaとかだったら、IDEが配列だよって教えてくれるけど
やっぱり、最初にこうするべきなんですかね?
array = Array.new
0484デフォルトの名無しさん
2010/03/15(月) 14:20:31ならない
Array.new はリテラルに比べると遅い。
0485デフォルトの名無しさん
2010/03/15(月) 14:21:39>・るびまのchmをダウンロード
リファレンスchmならASRに同梱されてたはず
それと初心者スレでるりまとは呼ばない方がいいよ
0487デフォルトの名無しさん
2010/03/15(月) 14:44:11hogedata = []
は
hogedata = {}
との区別がわけわかんなくなることはある
ので、そういうときは
hogedata = Array.new
と書くことはある
要素が入ってれば配列なのか Hash なのかは一発なのでわざわざ初期化なんてしない
0488デフォルトの名無しさん
2010/03/15(月) 15:14:22> それと初心者スレでるりまとは呼ばない方がいいよ
なんで?
0489デフォルトの名無しさん
2010/03/15(月) 16:05:560490デフォルトの名無しさん
2010/03/15(月) 16:18:200491デフォルトの名無しさん
2010/03/15(月) 16:21:11chm形式のマニュアル読んでれば十分
0492デフォルトの名無しさん
2010/03/15(月) 16:24:11マイナーな専門用語は避けるべき。初心者スレだし。
0493デフォルトの名無しさん
2010/03/15(月) 16:25:13まさにこの流れが理由
るびまと区別がついてないならなおさら
0494デフォルトの名無しさん
2010/03/15(月) 16:50:121.9.1は初心者向けじゃなかったのかー
今まさにダブルクリッコするところだったぜー
ここに来てよかった
ってことでActiveScriptRubyなるものをダウソしてきます
0495デフォルトの名無しさん
2010/03/15(月) 16:51:41494は489の人てことでw
0496デフォルトの名無しさん
2010/03/15(月) 17:31:53エクセルで書かれた名簿を整理して出力するプログラムを書いているのですが、
名前、郵便番号、住所の分離が上手くいきません
与えられた名簿は半角or全角スペースで区切られているのでsplitを使おうと試みているのですが、
例えば以下のように記述すると"―"や"県"が消えてしまいます
puts '山田 太郎 〒0000−0000 山田県山田333-333-333-333'.split(/[ 〒]+/)
何か良い知恵があればなにとぞご教授お願いします
ちなみに元のプログラムではputsせず、分離後にある配列に入れています
0497496
2010/03/15(月) 17:34:18rubyはver1,87を使用しております
0498デフォルトの名無しさん
2010/03/15(月) 17:48:49Excelってことなので、WindowsでSJISのソースコードとして、
スクリプトの先頭に
#! ruby -Ks
もっと推奨の方法があったかもしれない
0500デフォルトの名無しさん
2010/03/15(月) 17:53:59Ruby 1.8まででは
1 Ruby起動時にスイッチで -Ks とかで指定する
2 スクリプト先頭に
#!ruby -Ks
とか書いておくとスクリプト実行時にそのスイッチが考慮される
3 $KCODE を設定する
4 個々の正規表現のオプションでエンコーディングを指定する
ただし1,2はスクリプト自体のエンコーディングと正規表現の振る舞いの両者を変更するが
3,4だと正規表現の振る舞いを変えるだけなので
スクリプトがシフトJISで書かれていると
p "表" # エンコーディングを正しく指定しないと 文字列リテラルが終了してないことに("\225\" と同じ扱い)
とかのいわゆるダメ文字(2バイト目が\)問題にぶち当たる
UTF-8やEUC-JPだとそのような問題は起きない(のかな?)
0501デフォルトの名無しさん
2010/03/15(月) 18:05:26Ruby Magazineの事だと思ってた
0502デフォルトの名無しさん
2010/03/15(月) 18:15:09どもです
礼するの忘れてやした
0503デフォルトの名無しさん
2010/03/15(月) 18:16:09るりま:Ruby reference manual
Ruby Magazineだと思いこんでると、無関係な記事が多すぎるように映るかもね
0504デフォルトの名無しさん
2010/03/15(月) 18:16:29どっちでもいいよ
いやよくはないが
初心者的にはるびまは読むべきではない
古くて有害な情報が渾然一体となっている
0505デフォルトの名無しさん
2010/03/15(月) 18:19:31それ、テンプレに入れたらどうかね?
0506デフォルトの名無しさん
2010/03/15(月) 18:24:13上のほうよく見たらるびまとるりまの区別が付いてない(人がいる)って話だったのね
読み違えてたわ
0507デフォルトの名無しさん
2010/03/15(月) 18:27:440509デフォルトの名無しさん
2010/03/15(月) 19:16:01Rubyist
0510デフォルトの名無しさん
2010/03/15(月) 19:51:11C++@namespaceみたいな感じ
0511デフォルトの名無しさん
2010/03/15(月) 19:53:43既存言語の機能になぞらえないと理解し難いほど複雑難解な概念なのだろうか
0512デフォルトの名無しさん
2010/03/15(月) 20:00:50メソッドを探す順番の指定をする方法のひとつ
0513デフォルトの名無しさん
2010/03/15(月) 20:07:500514510
2010/03/15(月) 20:34:24本当の使い方は、結局なんなんだろ?
Mixinを実現するためにしか使わないのか
0515デフォルトの名無しさん
2010/03/15(月) 20:39:59メソッドがあるだけで、オブジェクトには依存しない機能のカタマリ
共通の機能をメソッドから追い出して別途メソッドを作るのと同じように、
共通の機能をクラスから追い出して別途モジュールを作る(でincludeする)というのも妥当
0516デフォルトの名無しさん
2010/03/15(月) 20:45:110518デフォルトの名無しさん
2010/03/15(月) 22:17:040519デフォルトの名無しさん
2010/03/15(月) 22:27:30ここは意外とDRY
0520デフォルトの名無しさん
2010/03/15(月) 22:52:35インスタンス変数という理解で正しいですか?
0521デフォルトの名無しさん
2010/03/15(月) 23:00:113 class Hoge
4 def self.set
5 @hoge = "dynamic"
6 $hoge = "static"
7 end
8
9 def self.out
10 puts @hoge
11 puts $hoge
12 end
13 end
14
15 Hoge.set
16 Hoge.out
実効結果
dynamic
static
$hogeと@hogeって何が違うのさ?
0522デフォルトの名無しさん
2010/03/15(月) 23:12:55クラスインスタンス変数はクラスオブジェクトが存在する限り存在する
Hoge と書くことで定数 Hoge に Class クラスのインスタンスが Ruby によってセットされる
(同名のクラス定義がなかった場合は定数とみなされ、事前に代入されてない未定義定数でエラー)
で、Hoge.set を実行することでインスタンス変数 @hoge がインスタンスの中でふつうに設定される
それが属するインスタンスとは Class クラスのインスタンスで、つまり定数 Hoge が指すものだ
だから、無理矢理 Hoge の内容を nil にするとインスタンス変数 @hoge はスコープごと失なわれる
irb> class Hoge; def self.set; @hoge='hoge'; end; end
irb> Hoge.set
irb> p Hoge.instance_variable_get(:@hoge)
"hoge"
irb> Hoge = nil
(irb):4: warning: already initialized constant Hoge
irb> p Hoge.instance_variable_get(:@hoge)
nil
0523デフォルトの名無しさん
2010/03/15(月) 23:22:49class Hoge
@hoge2="hoge2"
end
p Hoge.instance_variable_get(:@hoge2)
は "hoge2" を返すよ
0524デフォルトの名無しさん
2010/03/15(月) 23:38:33クオート文字列にマッチすることを意図した正規表現の例が以下のように
載ってるんだけど,文字集合内で番号指定後方参照ってできたっけ?
/(['"])[^\1]*\1/
わがRuby1.9.1ではこうなった
re = /(['"])[^\1]*\1/
p %('\1')[re] #=> nil
p %('hoge'hoge')[re] #=> "'hoge'hoge'"
いちおう念のために言っておくと
クオート文字列にマッチする正規表現を求めているわけじゃなくて
文字集合内で後方参照や部分式呼出しができるか否かの確認ね
0525デフォルトの名無しさん
2010/03/16(火) 00:23:290526デフォルトの名無しさん
2010/03/16(火) 00:27:01>>454
0527デフォルトの名無しさん
2010/03/16(火) 00:28:31なんでこんな面倒なもん作ったんだ
0528デフォルトの名無しさん
2010/03/16(火) 00:31:15ワイルドカード(UNIXシェルの、だが)だよ。
0529デフォルトの名無しさん
2010/03/16(火) 00:31:340530デフォルトの名無しさん
2010/03/16(火) 00:32:090531デフォルトの名無しさん
2010/03/16(火) 00:32:500532デフォルトの名無しさん
2010/03/16(火) 00:33:410533デフォルトの名無しさん
2010/03/16(火) 00:34:20UNIXで誰がファイル名展開をやってるか知ってるかい?
0534デフォルトの名無しさん
2010/03/16(火) 00:44:330535デフォルトの名無しさん
2010/03/16(火) 03:16:470536デフォルトの名無しさん
2010/03/16(火) 03:27:47login shellを/bin/rubyshにできていいかもしれないw
0537デフォルトの名無しさん
2010/03/16(火) 07:53:49誰も使わないだろうけど。
0538デフォルトの名無しさん
2010/03/16(火) 07:55:470539デフォルトの名無しさん
2010/03/16(火) 08:46:180540デフォルトの名無しさん
2010/03/16(火) 09:30:18一度読んでおくといい。
0541デフォルトの名無しさん
2010/03/16(火) 09:33:510542デフォルトの名無しさん
2010/03/16(火) 11:51:29普通に文字列を代入できるんだけど
0543デフォルトの名無しさん
2010/03/16(火) 12:01:40Rubyの定数は、警告 warning: already initialized constant ARGV
は出るけど代入自体はできる。
あ、あと、 ARGV << 'hoge' なんてのは「定数への代入」じゃないからな。
0544デフォルトの名無しさん
2010/03/16(火) 12:03:05-e:1: warning: already initialized constant ARGV
いやきちんと定数として警告出ますが
というかただの定数に過ぎない
Rubyはこれを起動時から用意してるだけで、用意したあとは特別扱いをしない
ただの配列を指す定数で、配列としての動作に従う
配列だから、要素を弄る限りはオブジェクトIDが同一で、定数としての適正を失わない
irb> arr = [1, 2, 3]
irb> arr[0] = 'one'
irb> ARGV[0] = 'one'
0545デフォルトの名無しさん
2010/03/16(火) 12:18:43ただ、これは
グローバル変数と定数を使う→
クラス変数を使う→
インスタンス変数だけを使う→
全部引数での受け渡しにする→
引数の数が大量になって鬱陶しいのでアクセサメソッド経由のインスタンス変数と引数の併用にする
というような変遷をどうしてもみんな辿るので今はまだ気にしなくてもいいとも言える
0546542
2010/03/16(火) 12:25:440547デフォルトの名無しさん
2010/03/16(火) 12:47:18この=って何?
0548デフォルトの名無しさん
2010/03/16(火) 13:00:04そのまんま
「hoge=」 という5文字の名前のメソッド
ただ、末尾に = があるメソッド定義を Ruby は特別に扱うので、引数つきで定義しておいたほうがいい
あと、foo.hoge = と = の前に空白があっても、Ruby はとりあえず foo のメソッドの中から hoge= を探す
foo.set_hoge(v) とするよりも foo.hoge = v と書けたほうがなんかわかりやすくね、という理由で特別扱いされてる
0549デフォルトの名無しさん
2010/03/16(火) 13:07:59古すぎますか?それとも第3版が出て、絶版になる前に読んでおく
べき?
たのしいRuby、Well-Grounded Rubyist、初めてのRuby
は読みました。
0550デフォルトの名無しさん
2010/03/16(火) 13:08:28理解した、ありがとう
0551デフォルトの名無しさん
2010/03/16(火) 13:16:29>「hoge=」 という5文字の名前のメソッド
通常の方法では代入文でしか呼べないから、ただのメソッドではなく演算子定義の一種と見た方がいい
一応引数無しでも定義できるけど__send__使わないと引数なしでは呼べない
0552デフォルトの名無しさん
2010/03/16(火) 13:17:42Rubyの演算子はメソッドですよ
0553デフォルトの名無しさん
2010/03/16(火) 13:24:32C/C++のスレには全然書き込みが無いんだけど
Rubyは簡単だから、学生に人気があるのかな
0554デフォルトの名無しさん
2010/03/16(火) 13:29:41まあ俺も春休みだけど。。
0555デフォルトの名無しさん
2010/03/16(火) 13:30:460556デフォルトの名無しさん
2010/03/16(火) 13:31:170557デフォルトの名無しさん
2010/03/16(火) 13:32:16勝った!
0558デフォルトの名無しさん
2010/03/16(火) 13:33:11お前は必死に仕事探せ
0559デフォルトの名無しさん
2010/03/16(火) 13:35:250560デフォルトの名無しさん
2010/03/16(火) 13:37:43無職連中はとりあえず生活基盤作れ
0561デフォルトの名無しさん
2010/03/16(火) 13:39:350562デフォルトの名無しさん
2010/03/16(火) 14:18:15初めてのRuby(yugui本)を読んで自分のものと出来たのなら
好きに進んでいいよ。
0563デフォルトの名無しさん
2010/03/16(火) 14:43:10安心して使えない
0564デフォルトの名無しさん
2010/03/16(火) 14:48:040565デフォルトの名無しさん
2010/03/16(火) 15:06:10レスどうも。
ツール作りでもしてみます。
0566デフォルトの名無しさん
2010/03/16(火) 15:08:401.8.7の1.9新機能入りプログラミングができないというのはなんとも歯痒い
が、それはWebの情報でアップデートできる程度なので問題はなさそうかも
むしろ最初からこれ教えたら混乱しそう
0567デフォルトの名無しさん
2010/03/16(火) 16:19:22固定化されることはないと思う
0568デフォルトの名無しさん
2010/03/16(火) 16:22:330569デフォルトの名無しさん
2010/03/16(火) 18:52:280570デフォルトの名無しさん
2010/03/16(火) 18:58:530571デフォルトの名無しさん
2010/03/16(火) 18:58:54最新(p249)はString#inspectで最後の多バイト文字が文字化けするという
デバッグや実験中に微妙にイラッとするバグがある。
気になるなら p174 で。
1.9系は夏に1.9.2が出るのでそのときまた判断だな。
0572デフォルトの名無しさん
2010/03/16(火) 19:16:270573デフォルトの名無しさん
2010/03/16(火) 19:18:211.9正式が出ただけ
sp1が今度出る
0574デフォルトの名無しさん
2010/03/16(火) 19:22:45$KCODE を設定した上で p で日本語を表示しようとした場合に最後の文字がバイト列のままになる
だ
p で日本語を表示しようとさえしなければ問題はないし、俺は表示しようと思ったこともない
というかむしろ p を使うような事態のときは1.9でもデフォルトでバイト列表示しろやわかりにくいわぼけー
どういう日本語を普段扱ってるかで違うんだろうな、このへん
0575デフォルトの名無しさん
2010/03/16(火) 19:25:49ShiftJIS 文字列とか表示されて端末乱れるのはイラッとくるが
0576デフォルトの名無しさん
2010/03/16(火) 19:34:14さらに状態の保持が必要な機能追加がしたくなった
モジュールへの修正じゃ対応できないの?
0577デフォルトの名無しさん
2010/03/16(火) 19:35:16include Hoge
なんで、requireにはシングルクォートを付けないと怒られるのに
includeには付けなくても怒られないの?
たまたま、そうなっただけなのかな〜
0578デフォルトの名無しさん
2010/03/16(火) 19:41:28require は基本的にはファイルパス
実際のファイルの大文字小文字が考慮される
(が、あまりにも面倒なのでファイル名の時点で小文字だけにしようという取り決めがある)
include の引数はモジュール名、つまり定数
0579デフォルトの名無しさん
2010/03/16(火) 19:44:08すれば
include はするたびにその順番に機能する
0580デフォルトの名無しさん
2010/03/16(火) 19:44:150581デフォルトの名無しさん
2010/03/16(火) 19:46:41ありがとう
0583デフォルトの名無しさん
2010/03/16(火) 19:51:320584デフォルトの名無しさん
2010/03/16(火) 19:52:35requireも単なる関数的メソッドとして実装されているのも理由の一つ
Hogeというキーワードはrequireの実行を終える前には当然定義されていないし
予約語でもないから、リテラルを使うしか渡す方法(requireメソッドを実行する方法)がない
「Hogeをrequireしろ」「Hogeってなんだ?」
「Hogeを読めばわかる」「だからそのHogeって何だよ」
NameError: uninitialized constant Hoge
Symbolでもよさそうだけどそのへんは>>578なんだろう
0585576
2010/03/16(火) 20:01:14たとえば配列クラスに最大値を保持するなど
0586デフォルトの名無しさん
2010/03/16(火) 20:22:21エスパー発揮で
obj = [1,2,3]
obj.instance_eval{ @mymax = self.max }
obj.define_singleton_method(:mymax){ @mymax }
p obj.mymax
なんか頭の悪そうなコードですまん
0587デフォルトの名無しさん
2010/03/16(火) 20:25:30本当にしたいことを書いたほうがいいと思う
include ではクラスにもともとあるメソッドを上書きすることができる
でも、おそらくはそれが解決方法ではないと思われ
組み込みや標準添付のクラスを拡張することは好ましいこととは考えられてない(オープンクラスのくせに)
自分でクラスを作ってインスタンス変数とかにオブジェクトを保持するほうがいい
オブジェクトの操作は自作のクラスのメソッド経由で行う
class HogeData
def initialize(a)
raise ArgumentError, 'must be Array' unless a.kind_of?(Array)
@hogedata = a
end
def <<(e)
return if @hogedata.size > 2
@hogedata << e
end
def data; @hogedata; end
end
irb> hoge = HogeData.new([1,2])
irb> p hoge.data
[1, 2]
irb> hoge << 3
irb> p hoge.data
[1, 2, 3]
irb> hoge << 4
irb> p hoge.data
[1, 2, 3]
0588576
2010/03/16(火) 21:18:59自分で書いたクラスのオブジェクトに追加の情報を持たせるには、
継承したり別のクラスに包含すれば可能だけど、すでにModuleで拡張しているので
そこはできるだけ触らずにModuleに少し書き足す程度で実現できないか?
Module内でインスタンス変数的な情報を保持する何かを定義できないか?
0589デフォルトの名無しさん
2010/03/16(火) 21:34:12よくわからんけどこれでダメ?
ダメならどうダメかをコードとして提示してくれると他の案を言えるかも
module M
end
class C
include M
def foo
@foo
end
end
module M
def bar
@foo = :bar
end
end
obj = C.new
obj.bar
p obj.foo #=> :bar
0590デフォルトの名無しさん
2010/03/16(火) 21:53:46Moduleの使い方・考え方が間違ってるような気がするなあ
あるクラスがModuleをincludeした時点でそのクラスのインスタンスは
存在していないわけだからインスタンス変数を設定したり保持したり
できないでしょ
アクセサの定義ならModuleでもできるけど
module M
def data
@data
end
def data=(arg)
@data = arg
end
end
class C
include M
end
0591デフォルトの名無しさん
2010/03/16(火) 21:55:33ズレている人はレスデータの再読み込みをしてください
0592576
2010/03/16(火) 22:01:45質問は、Module内を書き換えるだけで、外側には一切手を加えずに@fooを初期化できるかということです。
0593デフォルトの名無しさん
2010/03/16(火) 22:02:140594デフォルトの名無しさん
2010/03/16(火) 22:04:280595デフォルトの名無しさん
2010/03/16(火) 22:08:09それはできない
0596デフォルトの名無しさん
2010/03/16(火) 22:16:530597576
2010/03/16(火) 22:18:32インスタンスが作成された時点でincludeされたmoduleを通して
何かしらinitialize的メッセージが送られるようなことは無いよねって話です
あるいはC言語で言うところのスタティック変数は無いよねってことでも結構です
>>594もう試した
0598デフォルトの名無しさん
2010/03/16(火) 22:20:06def self.included(klass)
klass.class_eval do
def initialize
@foo = :bar
end
end
end
end
class C
def initialize
@foo = :baz
end
attr_reader :foo
include M
end
p C.new.foo #=> :bar
0599デフォルトの名無しさん
2010/03/16(火) 22:21:22めんどくさい、が正解だと思う
include先が継承とかしてたらsuper呼ばんといかん
0601デフォルトの名無しさん
2010/03/17(水) 00:02:54スイッチされるってのは面白いかも
なんか騙されてるような気もするなあ
0602デフォルトの名無しさん
2010/03/17(水) 00:16:580603デフォルトの名無しさん
2010/03/17(水) 00:26:10if /hoge/ =~ obj.str and /huga/ !~ obj.str and ...
と延々と続いて見づらいのですが、スマートに書けますか?
0604デフォルトの名無しさん
2010/03/17(水) 00:27:24メソッドにしてしまうのがひとつの手ではある
基本的には全部書くしかない
0605デフォルトの名無しさん
2010/03/17(水) 00:31:44match1 = obj.str =~ /hoge/
match2 = obj.str !~ /fuga/
match3 = obj.str =~ /fuge/
if match1 and match2 and match3
body_stmt
end
こう。
でも条件分岐だけで10行超えるなら独立のメソッドにする
0606デフォルトの名無しさん
2010/03/17(水) 01:02:190607デフォルトの名無しさん
2010/03/17(水) 03:52:24正規表現のマッチくらいでそんなに重くなったりしないけど〜。
0608デフォルトの名無しさん
2010/03/17(水) 08:17:07aptanaよりは軽いぞw
そもそもRubyの文脈考慮するコード補完でまともに高速に補完できるIDEみたことない。
俺もそれは困っているし、もっとよいIDEがあればぜひ教えて欲しい。
irbとかJavaとかC#みたいにバンバン補完できればいいんだけどねー。早々簡単にできないのわかってていってるけどw
テキストエディタレベルの単語補完ならばNetBeansでも高速できる(デフォだとたしかCtrl+K)。
0609デフォルトの名無しさん
2010/03/17(水) 08:43:030610デフォルトの名無しさん
2010/03/17(水) 09:03:06> ttp://d.hatena.ne.jp/kitamomonga/20100202/ruby_watir_crash_with_autoitx3
複数引数のsystemを使うべきところだな。
クォートだとなんだの気にする必要がなくなる。
0611デフォルトの名無しさん
2010/03/17(水) 09:33:26もちろん、vimでもxyzzyでも単語の補完はできるけど、>>481はそういうこといってるんじゃないんだろうし
インテリセンスみたいなやつだろ
0612デフォルトの名無しさん
2010/03/17(水) 09:52:28> ShiftJIS 文字列とか表示されて端末乱れるのはイラッとくるが
これは 1.9.2 の改善点の一つ
0613デフォルトの名無しさん
2010/03/17(水) 11:07:470614デフォルトの名無しさん
2010/03/17(水) 11:10:400615デフォルトの名無しさん
2010/03/17(水) 11:12:360616デフォルトの名無しさん
2010/03/17(水) 11:19:010617613
2010/03/17(水) 11:25:400618デフォルトの名無しさん
2010/03/17(水) 11:27:050619デフォルトの名無しさん
2010/03/17(水) 11:31:17>>617
:~$ cat a.rb
p File.dirname(__FILE__)
p File.dirname(File.expand_path(__FILE__))
:~$ ruby a.rb
"."
"/home/ore"
:~$ ruby /home/ore/a.rb
"/home/ore"
"/home/ore"
0620デフォルトの名無しさん
2010/03/17(水) 11:38:49>>608
NetBeansの文脈依存補完ってどのレベルまで補完してくれるの?
変数の参照先オブジェクト(のクラス)を推測したり
メソッドチェーンの返り値を推測して
続きのメソッド名を補完できたりする?
0621デフォルトの名無しさん
2010/03/17(水) 11:40:27だいぶ前にあったのは expand_path の基点となる第2引数が自動で dirname されてるという話だと思った
dirname の中で expand_path が使われるということはないように見える
0623デフォルトの名無しさん
2010/03/17(水) 11:53:480624デフォルトの名無しさん
2010/03/17(水) 11:59:29__FILE__ はそれが書かれているファイル自身のファイル名
スクリプトファイルを実行した場合は両者が一致する。
requireなどで他のファイルから読み込まれた場合は一致しない。
0625デフォルトの名無しさん
2010/03/17(水) 12:09:46ttp://www.rubylife.jp/ini/japan/index5.htmlのページにある
1 #! ruby -Ku
2 print("表示する")
3 [EDF]
というプログラムをterapadで作り保存してコマンドプロンプトで実行すると、
そのページに依れば文字化けした言葉が出てくるはずなのですが、しかし
test1-3.rb:2: unterminated string meets end of file
test1-3.rb:2: syntax error, unexpected $end, expecting ')'
と表示されます。
でも「表示する」の部分を「日本語で表示」に変えるとちゃんと文字化けします。
原因がプログラムで解決できるものなのかエディタを変えないといけないと解決できないのかも分からないので、
どうしたらよいかを教えてくれないでしょうか?
0626デフォルトの名無しさん
2010/03/17(水) 12:29:10初期のSEOがあまりに迷惑で悪い印象が残ってしまっている
はともかく
>>625
あんま気にするな
表示する端末のサポートするエンコーディングと
文字列のエンコーディングが合致していないとまともに動作しない、が本質
ぶっちゃけ、日本語文字列を直接書いてしまったファイルが、-Ks などのエンコーディング指定なしで
日本語文字列を含んだRubyスクリプトとしてきちんと解釈される保証はない
「うわーまともに動いてねーよ」と納得したら次のステップに行ってよし
0627デフォルトの名無しさん
2010/03/17(水) 12:36:07どうしても出費を抑えたいのでそういったサイトに頼っているのですが…
自業自得か。orz
0628デフォルトの名無しさん
2010/03/17(水) 12:37:44エンコーディングの不一致とは関係ないんじゃない?
表 (SJISのダメ文字のひとつ) の位置が問題なのかな。
0629デフォルトの名無しさん
2010/03/17(水) 12:41:59Linux用の場合は1つしかないのでしょうか?
このへんであまり考えたくない為、もしLinuxで1つしかなのでしたらLinuxで始めたいと思います。
0630デフォルトの名無しさん
2010/03/17(水) 12:42:370631デフォルトの名無しさん
2010/03/17(水) 12:43:331.6.x
1.8.x
1.9.x
いろいろある
Rails のバージョンによってもさらにバリエーションがw
0632デフォルトの名無しさん
2010/03/17(水) 12:43:42まあ動作的にはひとつとみなしてよいかと
少なくともWindowsのような面倒なことはない
0633デフォルトの名無しさん
2010/03/17(水) 12:44:440634デフォルトの名無しさん
2010/03/17(水) 12:46:210635デフォルトの名無しさん
2010/03/17(水) 12:48:55RubyはWindowsのメンテナが不足気味。LinuxかMacで使うべき。
Rails だって Windows はサポートしてなくて、今までたまたま
動いてたけどいつの間にか動かなくなったとか聴いた。
0636デフォルトの名無しさん
2010/03/17(水) 12:50:040637デフォルトの名無しさん
2010/03/17(水) 12:51:34RubyはWindowsと相性が悪い
Pythonの方がWindowsとの親和性は高い
*nixの場合はどっちでも相性が良い
つまりPython>Rubyであって
Rubyを選ぶ理由がないんだよなぁ
0638デフォルトの名無しさん
2010/03/17(水) 12:57:480639デフォルトの名無しさん
2010/03/17(水) 12:57:500640デフォルトの名無しさん
2010/03/17(水) 12:59:060641デフォルトの名無しさん
2010/03/17(水) 13:02:120642デフォルトの名無しさん
2010/03/17(水) 13:04:560643デフォルトの名無しさん
2010/03/17(水) 13:08:02そんなポータビリティが常に必要か?
たとえばMacOSXで動作しないバイナリを吐く言語で書く意味は何?
0644デフォルトの名無しさん
2010/03/17(水) 13:11:22それを暴いたのは俺たちかもしれないが、殴るなら暴いた人間ではなくあなたを騙した人間を殴れ
0645デフォルトの名無しさん
2010/03/17(水) 13:12:450646デフォルトの名無しさん
2010/03/17(水) 13:17:27似たようなものに「Rubyは初心者にも簡単」があるな
パソコン初心者やプログラミング言語初心者の人にとって独習可能なほど易しいとはそれほど思えない
0647デフォルトの名無しさん
2010/03/17(水) 13:34:44これも
「(動作上速度等で不満があれば、あなたが使い慣れている)Cで拡張ライブラリを書くのも
(たとえばこんなふうにC言語でずらっと書けばほら)簡単」
という意味だったからな
初心者として想定しているレベルがそもそもぜんぜん違う
C言語をある程度使えることは当然だし、Perlや主要UNIXコマンドの動作を知っていることや
文字エンコーディングの知識をもっていることも当たり前とされている
(初心者の想定としてはワークステーションの使い方教えられて慣れた感じの大学3年生くらい?)
それはマニュアル見れば一目瞭然
「Cのあれ」「コマンドのあれ」「Perlのやつ」という表現ばかりだ
最近は文章上は若干表現が砕かれたが、知識として知っていることが前提なのは何も変わらないのでむしろ
0648デフォルトの名無しさん
2010/03/17(水) 13:37:570649デフォルトの名無しさん
2010/03/17(水) 13:39:04・ Ruby自体は便利
・ ただしコンピュータ初心者やプログラミング初心者が独習可能なほど易しいかは怪しい
・ Windows上ではあまり便利ではない
・ Rubyは便利だが、儲かることや役に立つこととは別の便利さ
こんな感じ?
0650デフォルトの名無しさん
2010/03/17(水) 13:42:47・ Rubyは自分のため
・ Javaは給料のため
・ Pythonは他人のため
・ Rubyがコンピュータ初心者やプログラミング初心者が独習可能なほど易しいかは怪しい
・ Rubyは自分のために使うと便利だが、Windows上ではあまり便利ではない
こうだ
0651デフォルトの名無しさん
2010/03/17(水) 13:44:480652デフォルトの名無しさん
2010/03/17(水) 13:53:45便利ってなんだよw
まともなIDEもないのに便利も糞もあるか
ライブラリはバグだらけで使えない
バージョン変わると言語仕様も変わってソース書き直しw
0653デフォルトの名無しさん
2010/03/17(水) 13:55:38(NetBeans勧めておいてなんだが)文脈依存補完は重くてあまりつかってないんだが、
あまり優秀でない感じがした。irbの補完とどっこいどっこい
静的型付けの言語みたいに hoge.(ドット) ってうっていきなりリファレンス替わりにいきなり補完の候補だして
書き始めることはできない感じだった。補完速度の遅さももちろんあるが、候補が多すぎる。
メソッド名途中まで書いてからならかなりしぼれる。この辺はirbもそうだけど。
どんな技術で補完してるかは詳しくないので公式サイトなりでも調べてもらった方がよい気がする
0654デフォルトの名無しさん
2010/03/17(水) 13:56:320655デフォルトの名無しさん
2010/03/17(水) 13:57:21(Windowsユーザー以外の、パソコン初心者以外には)「Rubyは初心者にも簡単」
0656デフォルトの名無しさん
2010/03/17(水) 14:08:29それは初心者とは言わない
コンソールでちまちまやっているのが日常のやつなんて一部
それなのに「初心者がはじめるにはどの言語か」という発言だけで
Rubyすすめるバカがいるからな
0657デフォルトの名無しさん
2010/03/17(水) 14:12:21あれは意図的な悪意だろ
俺らが止めることはもはやできない
0658デフォルトの名無しさん
2010/03/17(水) 14:29:59でしたらちゃんとエラー表示がなくなり日本語が表示されましたので一応ご報告を。
0659デフォルトの名無しさん
2010/03/17(水) 14:47:00これでできないことはないし
非常に便利
Rubyのどこが便利なんだよwwアホかw
0660デフォルトの名無しさん
2010/03/17(水) 14:55:30もりあがっているところ申し訳ないのだが、その手の話題は本スレでお願いしたい。
Rubyについて Part 39
http://pc12.2ch.net/test/read.cgi/tech/1265467681/
0661デフォルトの名無しさん
2010/03/17(水) 15:06:32って記事読んでこのスレに来たけど騙されたか・
0662デフォルトの名無しさん
2010/03/17(水) 15:12:20C#がいいよ
未だに進化し続けている言語はこれぐらい
0663デフォルトの名無しさん
2010/03/17(水) 15:19:37Pythonは進化は一休み宣言してる
Rubyは進化のためなら互換性を切り捨てることを厭わない
0664デフォルトの名無しさん
2010/03/17(水) 15:20:58これから( のために)学ぶなら( な)PHPではなく
( な)パイソンか( な)ルビーが( の点で)( な人に)オヌヌメ
これが全部埋まってないようなものは与太
信じるほうが悪い
0665デフォルトの名無しさん
2010/03/17(水) 15:22:230666デフォルトの名無しさん
2010/03/17(水) 15:22:520667デフォルトの名無しさん
2010/03/17(水) 15:23:37>>664
0668デフォルトの名無しさん
2010/03/17(水) 15:37:34イメージをもっと広めてもらいたい
Rubyが超得意ですキリッっていっても
初心者向け言語ねプッ初心者いらね
とあしらわれるのが現状の就職戦線だからな
0669デフォルトの名無しさん
2010/03/17(水) 15:39:200670デフォルトの名無しさん
2010/03/17(水) 15:41:50Ruby擁護レス、批判レス、バグ報告レスだけ
0671デフォルトの名無しさん
2010/03/17(水) 15:44:53これがWindowsもないころなら
簡単と言ってもよかったがな
今更文字処理得意ですなんて言われてもな
真っ黒い画面で文字打つだけって最近のガキじゃ無理だな
0672デフォルトの名無しさん
2010/03/17(水) 15:49:340673デフォルトの名無しさん
2010/03/17(水) 15:51:22加齢臭がします><
>真っ黒い画面で文字打つだけって最近のガキじゃ無理だな
小学生でも出来るよそんな事^^
0674デフォルトの名無しさん
2010/03/17(水) 15:53:18だがたよりにされたいからRubyをやってもダメだと言う事が最近わかった
Rubyをやるのは真にRubyistの人だからRubyをやりたくてやるんじゃないやってしまう者がRubyist
PHPerはざんねんがはっきりいってスキルはつかわないし性格も裏メールとかイマイチだから信頼されにくい
0675デフォルトの名無しさん
2010/03/17(水) 15:53:46C#ならいきなりGUIが作れます
0676デフォルトの名無しさん
2010/03/17(水) 15:54:55妄想乙
Ruby信者は各スレを荒らしている
キチガイばかりが集まった低脳集団
だから就職でも嫌われるんだよ
0677デフォルトの名無しさん
2010/03/17(水) 15:55:500678デフォルトの名無しさん
2010/03/17(水) 15:56:02結局、用途によるよ
(異論はあるだろうが)初心者=Windowsとして・・・
・ちょっとした文字列処理とかの書き捨てるようなスクリプトには便利
・mechanizeとか使って、コピペサイトや2chからエロ画像とか自動収集してきてzip化!!1とかに便利
・かっちょえー、webサービス作りたい!!11とかならcoLinuxかVMWareか入れてRails学ぶ
・別にちょっとしたCGI的webアプリならRailsじゃなくてもいい(やってる人はやってる)
他の言語でもできる、と言われたらそうだけどw
「Rubyはプログラミングを楽しみたい人のための言語」というように言われるが、それはあるとおもうよ。
(ただし、環境整えるの面倒とか、Windowsでこのライブラリ動かねーとか普通にあるのはおいておいてだな)
0679デフォルトの名無しさん
2010/03/17(水) 15:56:21ここはC言語わからなくて逃げ出しちゃった子の巣窟
0680デフォルトの名無しさん
2010/03/17(水) 15:57:220681デフォルトの名無しさん
2010/03/17(水) 15:58:110682デフォルトの名無しさん
2010/03/17(水) 15:58:510683デフォルトの名無しさん
2010/03/17(水) 15:59:440684デフォルトの名無しさん
2010/03/17(水) 16:01:16それぐらいならC#で余裕で出来るな
まずインストールでこける
無事インストールできてもRubyは日本語リファレンスが充実していない
サンプルがない
ユーザー数が少ない
Rubyスレは低脳ばかり
就職で使えない
特異言語のRuby覚えても他の言語で応用が効かない
ライブラリはバグだらけ
メンテナンス作業をするために時間をとられてWindowsユーザーはまずプログラミングに集中できない
初心者=Windowsユーザーではない
大部分の初心者がWindowsユーザーということだ
0685デフォルトの名無しさん
2010/03/17(水) 16:03:110686デフォルトの名無しさん
2010/03/17(水) 16:04:39C#スレから来ました
スレとは関係ないんですが、もしかしてニートですか?
僕も30歳ニートです。
0687デフォルトの名無しさん
2010/03/17(水) 16:09:21仮想osにubuntuでも入れれば使いやすくなると言うこと?
将来性の面ではrubyはいいと言うのをよく見かけるけど、
これに関しては他のと比較してどうですか?
> Rubyはプログラミングを楽しみたい人のための言語
個人的にはこれが気になる。
趣味だから楽しんでなんぼだし
0688デフォルトの名無しさん
2010/03/17(水) 16:11:19GUIすらまともに作れない
IDEもないじゃねぇ
0689デフォルトの名無しさん
2010/03/17(水) 16:14:08IDEをNGワードにした
WIDEとかAIANMEIDEN(ローマ字綴り)とかの話題をしないようにお願い
0690デフォルトの名無しさん
2010/03/17(水) 16:20:12とりあえず仮想OSの話だけ。
webアプリ作るのに便利なRailsというRubyで動く代表的なwebフレームワークがあるんだけど、
それを使うには仮想OSやcoLinuxでUbuntuでも入れた方が、格段にトラブルが少ない、ということ。
Railsのコア開発者がそもそもWindows使ってなくて、Windowsだとイマイチ不安定だったり起動が遅かったりするのと、
Windowsでそのまま動かせないライブラリなんかがあったりする。
最終的に動作させるOSもUbuntuとかのUnix系OSになるだろうし、
仮想OSにUbuntuかCentOS入れて開発した方が楽ということ。
ただし、そもそもRailsは共有レンタルサーバーだと動かしにくい(というか重い)のに注意。
だからRails使わずにCGIで頑張って作ってる人もいることはいる。Railsばかり注目されて目立たないけど。
ちなみに、ちょっとしたスクリプト書いたり学習する分には別に仮想OSじゃなくても問題ないだろう。
0691デフォルトの名無しさん
2010/03/17(水) 16:20:14真っ黒い画面で文字打つだけで何が便利だよww
どこが楽しいんだよwww笑わせるなww
0692デフォルトの名無しさん
2010/03/17(水) 16:24:52IDEは別にいいや。
0693デフォルトの名無しさん
2010/03/17(水) 16:30:07下手にレスしてまきぞえ規制くらってもしらん
0694デフォルトの名無しさん
2010/03/17(水) 16:43:060695デフォルトの名無しさん
2010/03/17(水) 16:45:18荒らしかどうかは内容によらない
0696デフォルトの名無しさん
2010/03/17(水) 16:51:26C#スレにコピペ荒ししたのお前だな
報告しておいたから
0697デフォルトの名無しさん
2010/03/17(水) 17:16:52Windows向けのコードも数人書いてるし、定期的にビルドもされている。
Windowsで遅いってよく言われるのは、バイナリモードの話と、プロセスの起動が遅いって話じゃないかな。
前者はFAQだし、後者はcygwinのconfigureで顕著だけどWindows自体の話だからどうにもならん。
Windowsで動かないライブラリがあるのはその逆も真なはずだからいいよね。
0698デフォルトの名無しさん
2010/03/17(水) 17:39:301.8.7-p160のような話も混じってるのかもね
ライブラリの不満は動くかどうかよりも
バイナリが用意されていない(gem install一発で使えない)のほうが多い気がする
もしかしたらASRでも一発でいける方法・設定があるのかもしれないけど俺は知らない
0699デフォルトの名無しさん
2010/03/17(水) 17:40:510700デフォルトの名無しさん
2010/03/17(水) 17:41:38PerlやPHPもIDEがないから流行ってないんだよきっと
0701デフォルトの名無しさん
2010/03/17(水) 18:04:31Rubyはメモリ関係が弱いって言うじゃんしかもWinは動作保証してないんでしょ
Pythonはあの独特なコーディングと日本語訳がないから英語読めない人お断りじゃん
0702デフォルトの名無しさん
2010/03/17(水) 18:04:320703デフォルトの名無しさん
2010/03/17(水) 18:05:580704デフォルトの名無しさん
2010/03/17(水) 18:09:19コマンドプロンプトが起動した…
WINのrubyってコマンドでプログラム書くの?
自分は何か致命的なミスをおかしてますか?
0705デフォルトの名無しさん
2010/03/17(水) 18:11:18実行環境であって開発環境ではない
0706デフォルトの名無しさん
2010/03/17(水) 18:12:23なる
もーちょっとあちこち見て回ります
0707デフォルトの名無しさん
2010/03/17(水) 18:13:10文法に沿って書いたテキストファイルをruby.exeに読み込ませると
ruby.exeが必要なRuby用ファイルを読み込んで
テキストファイル内で指定された動作を対象ファイルとかに対して行う
動作を指定したいことがないような人には無用の長物
0708デフォルトの名無しさん
2010/03/17(水) 18:15:54あれはRubyを実行するのに都合のいい設定済みのコマンドプロンプト
0709デフォルトの名無しさん
2010/03/17(水) 18:18:22コンパイルするときいちいちコマンドプロンプトで
ファイル名書いてやらないとだめだよ
またライブラリ使うとオプションも書かないとだめだし
何度もテストするのにいちいちファイル名を文字入力しなければならない
0710デフォルトの名無しさん
2010/03/17(水) 18:22:250711デフォルトの名無しさん
2010/03/17(水) 18:23:230712デフォルトの名無しさん
2010/03/17(水) 18:27:58ども
開発環境はRDE?
なんか上の方でRDEは嫌われてるっぽいんですが
というか仮想OSでUBUNTU辺りでやった方が良いの?
もーなにがなんだかw
>>710
ここで自分の質問が問題あるならこれをもってROMに戻ります
問題あるならここにでも行って帰ってくんなと言う誘導でも下さいね
0713デフォルトの名無しさん
2010/03/17(水) 18:28:46>>709は無視
無視してないの君だけだ
0714デフォルトの名無しさん
2010/03/17(水) 18:33:34RDEはRuby無関係のRDE固有のトラブルを自力で切り分けて解決できる人向け
「普通のRubyではできるのにRDEでは違うということはRDEが悪い」という判断ができないと無理
基本はテキストエディタさえあれば作成は可能で、それだけで作ってる人もわりといるが、
そういうことに慣れていないならそれだけで嫌になる可能性はたいへん高い
0715デフォルトの名無しさん
2010/03/17(水) 18:36:46多分インストールする時点で挫折するでしょう
ここではインストール方法は教えないので自力でやってください
0716デフォルトの名無しさん
2010/03/17(水) 18:39:52>>710 は >>709 あて
とりあえずWindowsでやってみて不満が出るようなら
仮想マシン+Ubuntuへの乗換えを検討してみたらいいんじゃないか
出回ってる本で勉強するぐらいならWindowsでもまったく問題ないよ
コマンドプロンプトの使い方がわからなかったら
カレントディレクトリっていう概念とCD、DIRコマンドの使い方だけ抑えてくれ
テキストエディタは保存と編集だけできれば十分
>>712
なんらかの、IDEと呼ばれるタイプの開発環境を使用したことがないのなら何も勧めない
>>714の言うようにRDEは初心者が使うものではない
どうしてもウィンドウが3つくらいないと死ぬとかそういう病気の場合は
EclipseかNetBeansがいちおうRubyに対応している
ただ、IDEを使ったことがないなら使用は勧めない
IDEの余分な操作で余計に混乱すると思うから
メモ帳でも開いて
puts "Hello, Ruby!"
と1行書いて "a.rb" とでもしてファイル保存して
ruby console ダブルクリックして a.rb を黒い画面にドラッグアンドドロップしてEnterすると
Hello, Ruby!
と黒い画面の次の行に表示される
そんな程度
0718デフォルトの名無しさん
2010/03/17(水) 18:50:57了解
しばらくエディタでやってみます
>>715
インストールは何のインスコを指してるのか判然としないが
とりあえず自力でやります
>>717
めんどくさいことわざわざどうも
0719デフォルトの名無しさん
2010/03/17(水) 19:07:10↑この作業を毎回しなければならないのは苦痛でしかない
C#ならF5押すだけで済む
0720デフォルトの名無しさん
2010/03/17(水) 19:09:450721デフォルトの名無しさん
2010/03/17(水) 19:10:33コマンドプロンプトの履歴は上キー
一覧から選びたいならF7
コマンドライン入力中に履歴補完したいなら入力途中でF8
ファイル名補完は設定によってはタブでも動作する
0723デフォルトの名無しさん
2010/03/17(水) 19:15:35pukipaはtableが使えないのでダメでした
>>719
> C#ならF5押すだけで済む
それはC#の機能ではない
そもそもC#に編集機能などない
それはVisualStudioの機能だ
0725デフォルトの名無しさん
2010/03/17(水) 19:25:26csc /t:winexe hoge.cs /r:PresentationFramework.dll /r:PresentationCore.dll /r:WindowsBase.dll
こうですね、わかりません
0726デフォルトの名無しさん
2010/03/17(水) 19:53:08全レスはとても親切だと思うんだけど,
入門書の第1章を読めばわかるレベルの質問ならば
入門書を挙げるだけでいいと思う。
なにも読まずにつまづいて調べもせずに
いきなり人に聞こうとする質問者に
手を差し伸べてたらキリがない。
あと妙な書き込みにレスつけてると相手の思う壺。
こうやって可視化すると文句言えるんだな
0728デフォルトの名無しさん
2010/03/17(水) 19:59:360729デフォルトの名無しさん
2010/03/17(水) 20:21:10C#スレ見たけどあっちでも嫌われてるじゃねーか(そりゃそうか
0730デフォルトの名無しさん
2010/03/17(水) 21:01:16そんなのわかっているし、そういう発言自体がナンセンスなの
言語だけでプログラミングできるとでも思ってるわけ?
開発ツールがなければできないだろ
電波飛ばして直接ハードディスクにデータ書き込む気?
0731デフォルトの名無しさん
2010/03/17(水) 21:02:54名無しではみんな強気だからな
0732デフォルトの名無しさん
2010/03/17(水) 21:25:500733デフォルトの名無しさん
2010/03/17(水) 21:26:00『あぁブビ厨ってこんな感じだったんだろうなぁ』
と、当時が偲ばれてノスタルジックになれる
・・・かもしれない
0734デフォルトの名無しさん
2010/03/17(水) 21:29:36覚えることが少なくて楽だと思う
確かにDOSプロンプトで作業するとなんかイライラするけど、
cygterm (cygwin+teraterm) の端末なら快適
0735デフォルトの名無しさん
2010/03/17(水) 21:36:14"mintty -"でログインシェルで起動するのを忘れずに
0736デフォルトの名無しさん
2010/03/17(水) 22:25:38NT系は最初から「コマンド プロンプト」だぜ。
つか、現代のコマンドプロンプトは、ヒストリついてるし、
最初からファイル名補完有効だし、意外と便利。
0737デフォルトの名無しさん
2010/03/17(水) 22:30:40PowerShellならまあ…っていまだに使い方わからんけど
0738デフォルトの名無しさん
2010/03/17(水) 22:30:480739デフォルトの名無しさん
2010/03/17(水) 22:35:13ただPS用にISEっていう統合環境があってそれなら表示できる
ただPSは肝心の文法がキメラでして
0740デフォルトの名無しさん
2010/03/17(水) 23:03:53知ってりゃいろんな事がボタンひとつで出来るかもしらんが環境変わるとまた使い方を調べにゃならん
そしてWindowsはこれがないとプログラミングがまともに出来ない
0741デフォルトの名無しさん
2010/03/17(水) 23:17:35spec_helperとかでモンキパッチで変換かますか、
autotestでCtrl+Cで強制終了してしまうのを我慢してUTF-8対応cygwinターミナル使うかという感じだ。
PowerShellだと表示出来るのかな、試してみるか・・・
結局、UTF-16に変換かまさないといけなかったらあまりおいしくないなあ
0742デフォルトの名無しさん
2010/03/17(水) 23:19:46IDEというか統合環境のいいところは、1つ覚えたら大体他もそれなりに使える、というところじゃないかなぁ?
そんなにカスタマイズしなくても馬鹿でも使えるからいいんであって。
emacsとかvimはカスタマイズしないとまともに使えないだろw
0743デフォルトの名無しさん
2010/03/17(水) 23:22:51必須になる意味がわからん
まさかマウスクリックでタスク切り替えしてるのか
0744デフォルトの名無しさん
2010/03/17(水) 23:27:18そんな環境でプログラミングしてるのか大変だな
0745デフォルトの名無しさん
2010/03/17(水) 23:29:29ISEはあくまでPowerShell用の環境
コマンドプロンプトの上位互換的使いかたはできないと思われ
もしISEのプロンプトからirbとかしようものなら
延々入力を待ち続けてCtrl+Breakするまで戻ってきますん
0746デフォルトの名無しさん
2010/03/17(水) 23:30:16統合開発環境派
メモ帳+Alt+Tab派
他には?
0747デフォルトの名無しさん
2010/03/17(水) 23:30:460748デフォルトの名無しさん
2010/03/17(水) 23:33:58入力はあきらめた方がいいけど
0749デフォルトの名無しさん
2010/03/17(水) 23:45:080750デフォルトの名無しさん
2010/03/17(水) 23:49:270751デフォルトの名無しさん
2010/03/18(木) 00:12:000752デフォルトの名無しさん
2010/03/18(木) 02:39:30pukipaはtableが使えないのでダメでした
0753デフォルトの名無しさん
2010/03/18(木) 02:47:05周囲の環境を否定することでしか自我を保てない哀れな野郎だ
0754デフォルトの名無しさん
2010/03/18(木) 03:31:29・メモ帳
・TeraPad
・RDE
・Eclipse
ぐらいしかしらんなぁ
IronRubyに限るなら
・SharpDevelop
っていうのもありだな
個人的には、RDEが好きなんだが
バグが多いのと、開発が止まっているのが難点だな
IDEは、どっちかというと、オレのように頭の悪いやつ向けだな
オブジェクトがどこにあるとか、どこにどのメソッドがあるとか
解りやすくしてくれる。
ただし、設定が面倒で、動作がもっさりしてる。
そういうのが嫌いなら、TeraPadとかの高機能テキストエディタがいいね
何にも設定しなくても、それなりに見やすい。
動作も、さくさくしてる。
IDE使ってると見落としがちな、Rubyそのものの動作を体感できる。
初心者は逆にこっちのほうが良いかもね。
しばらく、メモ帳つかってメンドクセーって思うようになったら、IDEつかってみたら?
0755デフォルトの名無しさん
2010/03/18(木) 09:12:18chcp 65001するとまともに使えない@Vista
0756デフォルトの名無しさん
2010/03/18(木) 10:53:23^^^^^^^^^^^^^^^^^^^
0757デフォルトの名無しさん
2010/03/18(木) 10:59:46ttp://www.vector.co.jp/vpack/filearea/win/writing/edit/terapad/
0758デフォルトの名無しさん
2010/03/18(木) 11:01:130759デフォルトの名無しさん
2010/03/18(木) 11:03:560760デフォルトの名無しさん
2010/03/18(木) 11:25:58速くなりますか?
何か副作用はありませんか?
0761デフォルトの名無しさん
2010/03/18(木) 11:27:54速くならない
0762デフォルトの名無しさん
2010/03/18(木) 11:35:300763デフォルトの名無しさん
2010/03/18(木) 11:44:42require 'hoge' するとでっかいひとつ
require 'hoge/foo' だと個別
0764デフォルトの名無しさん
2010/03/18(木) 12:00:57ありがとうございます!
>>763
それは自分がライブラリを作って公開する場合の心得ってことですよね
0765デフォルトの名無しさん
2010/03/18(木) 12:50:220766デフォルトの名無しさん
2010/03/18(木) 12:55:03実装の話題は本スレで
0767デフォルトの名無しさん
2010/03/18(木) 12:57:23requireに限らず、ボトルネック回避以外の目的にスレッドを使って高速化することはできる?
0768デフォルトの名無しさん
2010/03/18(木) 12:58:17できない
少なくとも1.8ではできない
0769デフォルトの名無しさん
2010/03/18(木) 13:00:38列挙型ってどうすればいいんですか?
>Ruby には言語の機能としての列挙型がない。
>ちょっと使いたいことがあって、いくつかのパターンで列挙型ぽく振舞うものを書いてみた。
こんな事を書いてる記事もあるわけですが、いちいちこんなに面倒くさい事をしないとダメなのかな
0770デフォルトの名無しさん
2010/03/18(木) 14:34:37p true && false #=> false
なんで?
あれなんか凄い勘違いしてる?
0771デフォルトの名無しさん
2010/03/18(木) 14:44:51p (true and false)
0772デフォルトの名無しさん
2010/03/18(木) 14:46:36演算子の優先順位のせい
ttp://www.ruby-lang.org/ja/man/html/_B1E9BBBBBBD2BCB0.html#and
p true and false #=> (p true) and false
p true && false #=> p false
0773デフォルトの名無しさん
2010/03/18(木) 14:48:24まず、左辺を評価して、結果が真であった場合には右辺も評価します。and は同じ働きをする優先順位の低い演算子です。
and を伴う式をメソッドの引数に渡す場合は二重に括弧が必要となります。
0774デフォルトの名無しさん
2010/03/18(木) 14:49:360775デフォルトの名無しさん
2010/03/18(木) 14:54:56thx 把握した
そして and or が嫌いになった
condition = hoge and fuga
も
condition = (hoge and fuga)
か
condition = hoge && fuga
としなきゃいけないわけか
0776デフォルトの名無しさん
2010/03/18(木) 14:57:11式2つをえせ英語として読めるように書きたいときはand/or を使う感じ。
do(it) || raise;
do it or raise;
0777デフォルトの名無しさん
2010/03/18(木) 15:02:08ttp://perldoc.jp/docs/perl/5.6.1/perlop.pod
集合とかの AND や OR とかのように and や or を使うことはできない
記号優先なのが Perl っぽいといえば Perl っぽいといえなくもなく
0778デフォルトの名無しさん
2010/03/18(木) 15:02:430779デフォルトの名無しさん
2010/03/18(木) 15:05:470780デフォルトの名無しさん
2010/03/18(木) 15:56:10十中八九そうだと思う・・・
0781デフォルトの名無しさん
2010/03/18(木) 15:57:03foo || bar && baz は foo || (bar && baz)
0782デフォルトの名無しさん
2010/03/18(木) 17:03:270783デフォルトの名無しさん
2010/03/18(木) 17:05:010784デフォルトの名無しさん
2010/03/18(木) 17:15:00標準出力を吐けるものならなんでもCGIで使用可能
むしろCGIって名前自体がそういう意味なんだと思うけど
httpdでハンドラが適切に設定されている必要はある
0785デフォルトの名無しさん
2010/03/18(木) 17:29:01ただしすこし遅い
PHPやPerlより確実に遅い(mod_rubyでも素のPHPに勝てるか怪しい)
遅くてもいいようなまったり用途向け
0786デフォルトの名無しさん
2010/03/18(木) 17:29:44http://blog.rubybestpractices.com/posts/gregory/022-rbp-now-open.html
http://sandal.github.com/rbp-book/pdfs/rbp_1-0.pdf
0787デフォルトの名無しさん
2010/03/18(木) 17:31:38サンクス
それ出来るならちょうどよかった
PHP以外に何か軽くでも使えるように勉強しようと思ってたんだ
0788デフォルトの名無しさん
2010/03/18(木) 17:44:01いて、あきれるやら感心するやら。
# もちろんCで書くことが必要な状況ならそうすべきだけど。
0789デフォルトの名無しさん
2010/03/18(木) 17:53:380790デフォルトの名無しさん
2010/03/18(木) 17:56:590791デフォルトの名無しさん
2010/03/18(木) 18:00:130792デフォルトの名無しさん
2010/03/18(木) 19:17:07つvim
0793デフォルトの名無しさん
2010/03/18(木) 19:55:06非常にアホ臭いとは思ったが、呆れるとか感心するとかいうようなものでもないな。
0794デフォルトの名無しさん
2010/03/18(木) 20:04:240795デフォルトの名無しさん
2010/03/19(金) 00:02:39文字列:ABC=DEFG
パターン:ABC
文字列がABCから始まるかを調べる方法ありませんか?
0796デフォルトの名無しさん
2010/03/19(金) 00:04:320797デフォルトの名無しさん
2010/03/19(金) 00:06:41それで理解できる人はそういう質問はしないと思う
str = "ABC=DEF"
if /\AABC/ =~ str then
puts "ABCから始まっています"
else
puts "ABCから始まってません"
end
「正規表現」についての知識は必須なので、
使いやすい簡単なのだけは覚えておくといい
0799デフォルトの名無しさん
2010/03/19(金) 00:11:05s = 'ABC=DEF'
s.start_with?('ABC') #=> true
0800デフォルトの名無しさん
2010/03/19(金) 00:12:36メソッドで装備していたらかなり煩雑だと思う
0801デフォルトの名無しさん
2010/03/19(金) 00:13:45そこから先は本スレでどうぞ
0802デフォルトの名無しさん
2010/03/19(金) 00:14:31とかやって、それっぽい名前のメソッドがないか探してみるのもよい。
0803デフォルトの名無しさん
2010/03/19(金) 00:16:35初心者的に大きな問題はないとは思うが
>>800
String#include?さんなめんあ
0804デフォルトの名無しさん
2010/03/19(金) 00:19:18starts_with? 派との間で血みどろの抗争が繰り広げられたに違いない
0805デフォルトの名無しさん
2010/03/19(金) 00:21:37ruby的には、is_a? 以外は原形不定詞を使うとかいう約束だったと思う。
三単現派は ActiveSupport を使えば starts_with? を定義してくれる。
0806デフォルトの名無しさん
2010/03/19(金) 00:25:24>>805
なるほど
この場合主語が単数なのはほぼ異論無いとして、一人称なのか二人称なのか三人称なのか。
意外と深い?のでその原則は結構ナイスかも。
って日本人ユーザからすると面倒なだけとか。
0807デフォルトの名無しさん
2010/03/19(金) 00:27:071.9から降りてきて1.8.7からだよなという確信が持てなくて検索したとき
最初は starts_with? でやったことは秘密だ
ttp://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-talk/216680?216576-217484
0808デフォルトの名無しさん
2010/03/19(金) 00:33:55まったく is_a? は鬼っ子だ
初心者の皆さんにおかれましては is_a? は表記的に時代遅れなので kind_of? 使ってくださいね
0809デフォルトの名無しさん
2010/03/19(金) 00:36:36is_a? と kind_of? は意味が違うことをわかってんの?
0811デフォルトの名無しさん
2010/03/19(金) 00:42:42横からだけど、kwsk
古いのと一応最新ぽいのでも同じ扱い(てか丸移し)だけど、違うの?
ttp://www.ruby-lang.org/ja/man/html/Object.html#is_a.3f
ttp://doc.okkez.net/static/191/method/Object/i/kind_of=3f.html
0812デフォルトの名無しさん
2010/03/19(金) 00:47:43あまり is-a と kind-of を区別してるとは思えないし、そもそも実装上区別してねえ
んなこと言うなら is_a? から kind_of? と instance_of? の機能を、kind_of? から instance_of? の機能外せ
0813デフォルトの名無しさん
2010/03/19(金) 00:48:170814804
2010/03/19(金) 00:49:18�d。読んできた
他の名前との一貫性からstart_withになったけど
Pythonに敬意を表してstarts_withにするのしないのって話もあったのかw
0815デフォルトの名無しさん
2010/03/19(金) 01:42:41File.exists?
みたいに両方あるのもあるよね。
0816デフォルトの名無しさん
2010/03/19(金) 01:46:21まあ今もポリシーとか薄いけど
0817デフォルトの名無しさん
2010/03/19(金) 01:59:49Pythonの美しさをみ・・Pythonも似たようなもんか。
0818デフォルトの名無しさん
2010/03/19(金) 02:04:58どこも決定打に欠ける
永遠の問題なのかもしれない
0819デフォルトの名無しさん
2010/03/19(金) 06:22:300820デフォルトの名無しさん
2010/03/19(金) 06:39:550821デフォルトの名無しさん
2010/03/19(金) 07:20:02今度はguiとideとrails標準で。
0822デフォルトの名無しさん
2010/03/19(金) 08:16:52ー完ー
0823デフォルトの名無しさん
2010/03/19(金) 10:52:450824デフォルトの名無しさん
2010/03/19(金) 11:02:380825デフォルトの名無しさん
2010/03/19(金) 13:03:05cygwin用が用意されてなくてコンパイルもそのままじゃ出来なかった
↓みたいに_rb_〜〜が見つからないって大量に言われるんだけど
Rubyのソースとか必要なのか?どっかのパス指定ができてないだけなのか?
/home/hoge/wxruby-2.0.1/src/Icon.cpp:1410: undefined reference to `_rb_define_class_under'
/usr/lib/ruby/1.8/i386-cygwin/ruby.h:697: undefined reference to `_rb_cFixnum'
色々いじってコンパイルしてみてるけど諦めてRuby自体mswinにするか・・・
0826デフォルトの名無しさん
2010/03/19(金) 13:10:310827デフォルトの名無しさん
2010/03/19(金) 13:16:42mswin32でやったほうがよさそうなふいんき
0828デフォルトの名無しさん
2010/03/19(金) 13:23:04そりゃここでこちょこちょ勧める人がいるからだろ
ぶっちゃけ初心者にはcolinux+Debianとか勧めておけばいいのに
cygwinはwin,*nix両方知らなきゃいけないから難しいよ
0829デフォルトの名無しさん
2010/03/19(金) 13:23:31こういうひとってなんでRubyやめようと思わないのかな
0830デフォルトの名無しさん
2010/03/19(金) 13:25:06目的と手段を取り違えるタイプ
0831デフォルトの名無しさん
2010/03/19(金) 13:26:35俺は勧めてないしテンプレにも一文字もないぞ
>>830
Rubyで遊んでみるのが目的なのに他の手段でウィンドウ作ってどうする
0832デフォルトの名無しさん
2010/03/19(金) 13:51:22Rubyありきなのはどうしようもないですがcygwinありきだった点を直そう
おとなしくmswin32でいじることにします
0833デフォルトの名無しさん
2010/03/19(金) 13:52:10「プログラムの初心者」と決めつけて・勘違いして回答してるのが何人かいるな
0834デフォルトの名無しさん
2010/03/19(金) 13:55:21「OS操作や他言語プログラミング等にある程度造詣があってRubyに挑戦しようとしてる人」
の質問はそれなりに洗練されている
そういうような質問にはそれなりの回答が返ることが多い
プログラミング経験者なのにPC初心者向けな回答をされたという場合は
そりゃ質問の書き方がまずいのだろ
0835デフォルトの名無しさん
2010/03/19(金) 14:14:38なんでRubyやめようと思うと思うの?
0836デフォルトの名無しさん
2010/03/19(金) 14:32:240837デフォルトの名無しさん
2010/03/19(金) 14:42:450838デフォルトの名無しさん
2010/03/19(金) 14:53:56このひとはなにもかんがえてません
ずっといます
0839デフォルトの名無しさん
2010/03/19(金) 15:04:330840デフォルトの名無しさん
2010/03/19(金) 15:07:15ここ数日どのスレもなんか雰囲気違うな
0841デフォルトの名無しさん
2010/03/19(金) 15:13:29visual rubyとかmsが用意すればいいのに。
0842デフォルトの名無しさん
2010/03/19(金) 15:14:59単純に-lrubyが足りなかっただけでした
やっぱり次につまずくまでcygwinで行こうと思います
0843デフォルトの名無しさん
2010/03/19(金) 20:39:12簡単に使えるってどういう意味よ。
0844デフォルトの名無しさん
2010/03/19(金) 22:09:24高度に統一された環境がどれほど快適であるか理解できないんだろうね。
0845デフォルトの名無しさん
2010/03/19(金) 22:11:150846デフォルトの名無しさん
2010/03/19(金) 22:30:110847デフォルトの名無しさん
2010/03/19(金) 22:59:43さっき 1.8.7 を入れた
0848デフォルトの名無しさん
2010/03/20(土) 09:10:20phpなんかも、php + sql starter見たいなの配布してるしねえ。
rubyもそういうお手軽さを提供しないと、いつまでもマニア向けのまま終わる事に成る。
0849デフォルトの名無しさん
2010/03/20(土) 09:21:20LinuxとかUnix系使ってる場合は使い始めるのにそんなに壁無いと思う
0850デフォルトの名無しさん
2010/03/20(土) 09:24:08他の言語で普及してないということはそれなりに理由があるもんだ
それと、Rubyはバージョンが1未満のころから一貫してマニア向けでしかない
これはPerlも同じ
0851デフォルトの名無しさん
2010/03/20(土) 09:49:47知ってるととっつきやすいけどな
別にRubyだけってわけでなく他の言語メインに使ってる
0852デフォルトの名無しさん
2010/03/20(土) 09:57:27sedやawkを知ってるとアホみたいに作業効率が上がるのと同じ
単語操作はCでもできるがsedやawk経由のほうが作業速度は速い
0853デフォルトの名無しさん
2010/03/20(土) 09:58:10ただし、OSがHomeeditionこれて無理かな?
0854デフォルトの名無しさん
2010/03/20(土) 10:01:02できるよ
普通にSMTP操作すればいい
0855デフォルトの名無しさん
2010/03/20(土) 10:05:260856デフォルトの名無しさん
2010/03/20(土) 10:08:27Windows で Ruby のとっつきにくさって
言語の仕様とか経験とか以前に
インストールの面倒臭さとか
cygwin/mingw混在とか
本質と関係ないどうでも良い部分で
無駄に時間取られることだよ
0857デフォルトの名無しさん
2010/03/20(土) 10:17:33できるけど、それを質問してくるレベルの知識ではできない。
0858デフォルトの名無しさん
2010/03/20(土) 10:19:140859デフォルトの名無しさん
2010/03/20(土) 10:23:00当たり前だ
自動車ってどうやってエンジンかけて運転するんですかという小学生の質問に
仔細に答えるわけにはいかない
0860デフォルトの名無しさん
2010/03/20(土) 10:29:40>cygwin/mingw混在とか
gemがどうのapacheがどうのとなるとメンドイけど
単体で使うだけのインストールなら
mswin32のzipをダウンロードして解凍してPATHをとおすだけ
言い換えればその面倒さはRuby本体以外の部分にある
0861デフォルトの名無しさん
2010/03/20(土) 10:34:290862デフォルトの名無しさん
2010/03/20(土) 10:38:17Rubyにまだ向いてないとおもう
0863デフォルトの名無しさん
2010/03/20(土) 10:54:150864デフォルトの名無しさん
2010/03/20(土) 10:58:50s = 'ABC=DEF'
s.rindex('ABC', 0) #=> true
s.rindex('DEF', 0) #=> false
なら古いバージョンでも動く
0865デフォルトの名無しさん
2010/03/20(土) 11:54:19>foo{|arg|
> puts "given block. arg=#{arg}"
>}
argには何が入るの?
0866デフォルトの名無しさん
2010/03/20(土) 11:59:33yield の引数
0868デフォルトの名無しさん
2010/03/20(土) 13:15:16激しく同意。
自分はさらに極端で、プログラム初心者、PC初心者は放置でいい気がする。
第二言語としてRubyを使おうとしてる初心者に対して優しくするのはよいと思うけど。
0869デフォルトの名無しさん
2010/03/20(土) 13:27:460870デフォルトの名無しさん
2010/03/20(土) 13:30:23いいえ
0871デフォルトの名無しさん
2010/03/20(土) 13:34:33○しょしんもの
これを受け入れる
0872デフォルトの名無しさん
2010/03/20(土) 13:40:24そう思わせるレスが多い
0873デフォルトの名無しさん
2010/03/20(土) 13:42:47誰もお前には聞いてない
0874デフォルトの名無しさん
2010/03/20(土) 13:47:000875デフォルトの名無しさん
2010/03/20(土) 13:48:300876デフォルトの名無しさん
2010/03/20(土) 13:53:34文字化けする状態は放置されたままなんだね。
とりあえず、string.cを修正してからmakeすれば直るんだけど。
1.8.8では直るらしいから、それでいいじゃんと思われてるのかな。
0877デフォルトの名無しさん
2010/03/20(土) 14:10:09緊急再リリースするほどの問題ではないという判断なのでしょう。
0878デフォルトの名無しさん
2010/03/20(土) 16:56:07誰か教えてください
0879デフォルトの名無しさん
2010/03/20(土) 17:25:570880デフォルトの名無しさん
2010/03/20(土) 17:39:03thx
0881デフォルトの名無しさん
2010/03/20(土) 17:42:42現在インストールしているRuby1.8.6をアンインストールすべきでしょうか?
Ruby on Rails と Ruby gemsもインストールしているので、アンインストールしていいものか悩んでいます。
よろしくお願いします。
0882デフォルトの名無しさん
2010/03/20(土) 18:11:00Rubyのバージョンアップはアンインストール前提
既存の Ruby の設定を考慮する Windows 用インストーラーというのも今のところ存在しない
現時点で gem list するとインストール済み gem 一覧が出てくるのでそれメモっておいて 1.8.7 でもインストールしろ
1.8.6 → 1.8.7 であるなら GEMHOME に該当するディレクトリを退避して上書きでも動作はするはずだが保証はしない
0883デフォルトの名無しさん
2010/03/20(土) 18:16:30・cmdからruby script.rb
->1.8.6環境で起動
・ruby consoleからruby script.rb
・cmdからscript.rb
・rbファイルのダブルクリック
->1.8.7環境で起動
パッケージが違うとはいえ、混沌とした
アンインストールまじおすすめ
0884デフォルトの名無しさん
2010/03/20(土) 18:54:37>>883
ありがとうございます。大人しくアンインストールしておきます。
0885878
2010/03/20(土) 19:36:17また、ちょっとおしえてください
def test value
str = String.new
if str == value ←同じ型か? どうか調べたい!!
p "同じ型"
else
p "違う型だよ"
end
end
test(strと比較するクラス名)
こういう処理をしたかったのですが、クラスはClassって型なんですね
なんか勘違いしていました
0886デフォルトの名無しさん
2010/03/20(土) 19:49:17(以下既存ループ)
>>885
Rubyにおけるクラスとインスタンスという概念をとりあえず勉強しろ
(オブジェクト指向としてのクラスとインスタンスという大仰な概念は不要)
話はそれから
0887デフォルトの名無しさん
2010/03/20(土) 19:55:52=> "hello"
>> b = 3
=> 3
>> a.kind_of?(String)
=> true
>> a.kind_of?("world".class)
=> true
>> a.kind_of?(b.class)
=> false
0888デフォルトの名無しさん
2010/03/20(土) 20:47:140889デフォルトの名無しさん
2010/03/20(土) 20:48:500890デフォルトの名無しさん
2010/03/20(土) 20:49:570891デフォルトの名無しさん
2010/03/20(土) 20:50:30$ mv ~/.irbrc dot.irbrc
$ irb --simple-prompt
>> 1
=> 1
0892デフォルトの名無しさん
2010/03/20(土) 20:54:14退避しなくても -f オプションがあるよ
$ irb --simple-prompt
irb> exit
$ irb -f --simple-prompt
>>
0893デフォルトの名無しさん
2010/03/20(土) 20:55:51なんというフルボッコ
0894デフォルトの名無しさん
2010/03/21(日) 00:24:53RubyでいうとMix-inとかで解決すべきところだと思うのだが。
Javaだとインタフェースになるのかな。
0895デフォルトの名無しさん
2010/03/21(日) 00:30:400896デフォルトの名無しさん
2010/03/21(日) 00:33:35別にそんなにこだわる必要ないと思うけど
0897デフォルトの名無しさん
2010/03/21(日) 00:34:25まず、そうゆうネタは本スレに振った方がいいと思う
主張っぽいのがあるなら特に
その上で、Mix-inで解決ってのは意味がわからんが
Mix-inされてるかどうかって所にkind_of?なんかの使い道もあろうと
0898デフォルトの名無しさん
2010/03/21(日) 00:40:46自分だけですかね。
オブジェクト指向だの大見得切っといてこんなことしちゃっていいのかしらウフフ、的なね。
0899デフォルトの名無しさん
2010/03/21(日) 00:45:110900デフォルトの名無しさん
2010/03/21(日) 00:47:210901デフォルトの名無しさん
2010/03/21(日) 00:49:03このくらいのレベルの話で本スレに行かなきゃならんのか・・・
0902デフォルトの名無しさん
2010/03/21(日) 00:50:16なるんじゃないかと思う
0903デフォルトの名無しさん
2010/03/21(日) 00:57:31いや、ココ、初心者スレ、だーよ
0904デフォルトの名無しさん
2010/03/21(日) 00:58:520905デフォルトの名無しさん
2010/03/21(日) 00:59:490906デフォルトの名無しさん
2010/03/21(日) 01:03:13結局、スタイルの問題でしょ?
まぁ、確かにライブラリとかで kind_of 連発してたら
しょんぼり感が漂うな
0907デフォルトの名無しさん
2010/03/21(日) 01:03:41具体的事例がないならとりあえず本スレ行っとけ
0908デフォルトの名無しさん
2010/03/21(日) 01:05:230909デフォルトの名無しさん
2010/03/21(日) 01:08:34ってことなんでしょ
インターフェースで強制すべきってことでMix-inという話になる
で、906に続く
0910デフォルトの名無しさん
2010/03/21(日) 01:10:49その上で、何が不満なのかを書かないと話にならない
あんたが言うように使うこともあるだろうし、それはまさにJavaのインターフェイスの
使い方の一つだけど、それがRubyで「できる」ことに問題があるのかな?
0911デフォルトの名無しさん
2010/03/21(日) 01:12:460912デフォルトの名無しさん
2010/03/21(日) 01:13:20「謎」って言うから書いただけ
全く不満はございません
0913デフォルトの名無しさん
2010/03/21(日) 01:17:190914デフォルトの名無しさん
2010/03/21(日) 01:19:190915デフォルトの名無しさん
2010/03/21(日) 01:21:140916デフォルトの名無しさん
2010/03/21(日) 01:26:030917デフォルトの名無しさん
2010/03/21(日) 09:10:190918デフォルトの名無しさん
2010/03/21(日) 09:15:141から始めて整数値をえんえん増やす処理をさせたい場合はそのようにループを書く
0919デフォルトの名無しさん
2010/03/21(日) 11:48:29さらにいえば、そのreadメソッドがこちらが期待する動作を仮定しているじゃん?
こういうのって問題にならないのかな。
組み込みクラスならまだしも、ユーザ定義のクラスでこんなにうまくいくの?
0920デフォルトの名無しさん
2010/03/21(日) 11:50:230921デフォルトの名無しさん
2010/03/21(日) 11:53:24名前ってどうするの?
たとえば hoge というメソッドが期待している振る舞いをすると仮定しているが
その「hoge」という名前は、IPアドレスのように偉い人たちが統一的に管理しているわけでもなく
みんなそれぞれ勝手に決めるわけでしょ?
※ そんなこといったらモジュールの名前空間も衝突す(ry
0922デフォルトの名無しさん
2010/03/21(日) 12:01:180923デフォルトの名無しさん
2010/03/21(日) 12:03:59実質 Ruby の予約語じゃね?
例えば p メソッドは、inspectがオブジェクトを文字列に変換してくれることを期待しているから
ユーザ定義のクラスでも、そのことを念頭に置いて、メソッド名を決めなくちゃいけない。
0924デフォルトの名無しさん
2010/03/21(日) 12:08:16別の動作で定義したユーザが悪い
0925デフォルトの名無しさん
2010/03/21(日) 12:15:38だから、その名前をどうするかって話だよ。
俺様ライブラリのクラスで、readというメソッドを定義したとする。
でも俺様ライブラリのreadメソッドは、IOクラスの振る舞いはしないとする。
ところが、Aさんが俺様ライブラリをIOクラスの振る舞いをすると期待して使ってしまう。
するとAさんは、「お前、なんでreadなんて名前にしたの?氏ね」
と文句を言われる。なんで?
0926デフォルトの名無しさん
2010/03/21(日) 12:17:27○ 文句を言う
0927デフォルトの名無しさん
2010/03/21(日) 12:19:23原因分かってるのに聞くなよ
0928デフォルトの名無しさん
2010/03/21(日) 12:21:19メソッド名も、メソッド定義も気をつけないとなー。
0929デフォルトの名無しさん
2010/03/21(日) 12:21:410930デフォルトの名無しさん
2010/03/21(日) 12:22:47read というメソッドがあるライブラリを拾ってきて、ブラックボックス的に使ったら
たまたま名前が同じだけで期待しない動作だった、ってのを懸念してるように
見えるけど
0931デフォルトの名無しさん
2010/03/21(日) 12:31:540932デフォルトの名無しさん
2010/03/21(日) 12:32:24あなた(俺様)は何も悪くありません
どんなAPIを設計するかはあなた(俺様)の自由
APIが使いにくいからといっても,あなた(俺様)が文句を言われる筋合いは全くないでしょう
ユーザーは単にあなた(俺様)のライブラリを使わなければよいのですから
0933デフォルトの名無しさん
2010/03/21(日) 12:34:20initializeもか。
0934デフォルトの名無しさん
2010/03/21(日) 12:38:500935デフォルトの名無しさん
2010/03/21(日) 12:43:00がいい例だね...
0936デフォルトの名無しさん
2010/03/21(日) 13:11:09別に予約語でもなんでもないんだから
0937デフォルトの名無しさん
2010/03/21(日) 13:17:45フィードバックを貰って改定するとか、俺流を貫いて淘汰されるとか
するんじゃないかね。
0938238
2010/03/21(日) 13:40:16方法はないですか?もう下のようなコードを書くのはうんざり・・・。
animals = Hash.new
...
if animals[:dog]
animals[:dog] << "pochi"
else
animals[:dog] = ["pochi"]
end
0939デフォルトの名無しさん
2010/03/21(日) 13:45:220940939
2010/03/21(日) 13:46:430941デフォルトの名無しさん
2010/03/21(日) 13:53:08> もう下のようなコードを書くのはうんざり
そういうクラスを作ればいいだけでは…
0942デフォルトの名無しさん
2010/03/21(日) 13:53:090943デフォルトの名無しさん
2010/03/21(日) 13:57:55あんまり変わらないけど、これはどう?
animals = Hash.new
animals[:dog] ||= []
animals[:dog] << "pochi"
0944デフォルトの名無しさん
2010/03/21(日) 14:00:31animals[:dog] << "pochi"
else
animals[:dog] = ["pochi"]
end
↓これでもいける。
animals[:dog] ||= []
animals[:dog] << "pochi"
↓これでもいける。
(animals[:dog] ||= []) << "pochi"
0945デフォルトの名無しさん
2010/03/21(日) 14:03:280946238
2010/03/21(日) 14:04:02確かに自分の場合、Hashを拡張してしまうのが早いかも。
>>942
Hashをブロックで初期化できるとは知りませんでした。
これは覚えておかないと!
ありがとう。
0947238
2010/03/21(日) 14:11:36普通のデフォルト値として[]を渡すと、同じArrayインタンス
が使いまわされるので、目的に適わないのです。その点、
942のコードなら大丈夫。
0948デフォルトの名無しさん
2010/03/21(日) 20:43:00教祖のrubyの教えを信じるものはrubyで救われるが、信じない異教徒にはrubyは助けに成らない。
0949デフォルトの名無しさん
2010/03/21(日) 21:26:18ttp://pc12.2ch.net/test/read.cgi/tech/1267668057/948
0950デフォルトの名無しさん
2010/03/21(日) 23:01:10俺なんか別にどの言語も信者ではないな
どの言語でも何でこんなアホなんだと思う場面あるし
実際は言語がアホな場合も自分がアホな場合もあるけど…
0951デフォルトの名無しさん
2010/03/21(日) 23:06:150952デフォルトの名無しさん
2010/03/21(日) 23:14:390953デフォルトの名無しさん
2010/03/21(日) 23:18:250954デフォルトの名無しさん
2010/03/21(日) 23:30:12この部分においてはRUBYは他の言語の追随を許さないのでしょうか?
これから学ぼうと思ってるのですがここ見ててそんな疑問が浮かびました
皆さんの印象で結構ですのでお願いします
0955デフォルトの名無しさん
2010/03/21(日) 23:31:230956デフォルトの名無しさん
2010/03/21(日) 23:33:34初プログラミングならたぶん快適
他の静的型付け言語の経験があるならキイイイイイイイッってなるかもしれん
0957デフォルトの名無しさん
2010/03/21(日) 23:35:370958デフォルトの名無しさん
2010/03/21(日) 23:36:07そんなこと気にせずさっさとインスコして試したらいいよというのが正直な印象
有名どころの言語をあれこれ使ってみて自分に合うのを選んだらよろし
0959デフォルトの名無しさん
2010/03/21(日) 23:37:53そういう点ではRubyは優れているといってよろしかろう?
0960デフォルトの名無しさん
2010/03/21(日) 23:42:470961デフォルトの名無しさん
2010/03/21(日) 23:47:42Windowsプラットフォーム固有の問題を出せるまで使い倒したなら
もう初心者卒業だろうw
0962デフォルトの名無しさん
2010/03/22(月) 00:02:26だと代入せずに参照しただけで要素が追加されてしまうので
animals = Hash.new {[]}
animals[:dog] <<= "pochi"
0963デフォルトの名無しさん
2010/03/22(月) 00:03:11いまVS2010RC入れて触ってみたんだけど、これは良いわ
インタラクティブシェルのキーバインドがreadlineじゃなくてcmd.exeなのと
VS2008には有ったemacs系のキーバインドが無くなっちゃったのが
個人的には痛いけど、これからプログラムの勉強始める人なら関係ないよね
0964デフォルトの名無しさん
2010/03/22(月) 00:08:29でもおいらWINDOWS環境だw
0965デフォルトの名無しさん
2010/03/22(月) 00:14:341.9だと、まだデバッガが対応していない?
0966デフォルトの名無しさん
2010/03/22(月) 00:18:37なのに動かないの?
0967デフォルトの名無しさん
2010/03/22(月) 00:19:32VMwareにubuntuでも入れとけ
0968デフォルトの名無しさん
2010/03/22(月) 00:24:57あー、いきなりRadRailsのIDEでデバッグしようとしてるのがいけないのか
リファクタリングツールとかないと生きていけない体になっているので、いきなりIDEに手を出したのが不味かったのかも
0969デフォルトの名無しさん
2010/03/22(月) 00:25:40いわゆるデバッガと言われて想像するような性能のものは無い
言語仕様的な問題なんじゃないかとうっすら想像中
0970デフォルトの名無しさん
2010/03/22(月) 00:30:27と
>いきなりIDEに手を出した
の間に関連性を見出そうと頑張っています
しばらくお待ちください
0971デフォルトの名無しさん
2010/03/22(月) 01:12:54ってことだろうね
0972デフォルトの名無しさん
2010/03/22(月) 02:53:12Smalltalkは言語というより環境そのもの。EclipseとかでKentが再現しようと頑張ってるけど及ばない領域が多い
今でこそそこそこ使えるIDEが出てきたけど、RubyのIDEは正直糞レベル
0973デフォルトの名無しさん
2010/03/22(月) 09:44:03FixnumとStringの連結くらいでエラー出すなよな
0974デフォルトの名無しさん
2010/03/22(月) 09:54:420975デフォルトの名無しさん
2010/03/22(月) 09:55:27"#{foo}" 使えよ
0976デフォルトの名無しさん
2010/03/22(月) 09:57:35あたかも暗黙の型変換が起きたかのような挙動は危険すぎる
to_s で明示的に変換するべき
0977デフォルトの名無しさん
2010/03/22(月) 09:58:190978デフォルトの名無しさん
2010/03/22(月) 10:01:250979デフォルトの名無しさん
2010/03/22(月) 10:27:34きちがいにしかきちがいはみえない
0980デフォルトの名無しさん
2010/03/22(月) 10:47:57[1,2,3,[{:a=>"a", :b=>"b"}],].join #=> "123bbaa"
0981デフォルトの名無しさん
2010/03/22(月) 10:51:220982デフォルトの名無しさん
2010/03/22(月) 11:15:11irb1.9> puts [1,2,3,[{:a=>"a", :b=>"b"}],].join
123{:a=>"a", :b=>"b"}
0983デフォルトの名無しさん
2010/03/22(月) 11:39:110984デフォルトの名無しさん
2010/03/22(月) 11:40:11#!ruby -Kuと$KCODEで指定しているのですが、
C++のフレームワークを経由して表示させたい文字列を取得しているため
0985デフォルトの名無しさん
2010/03/22(月) 11:42:56文字エンコーディング情報を別途保持して渡すか、require 'guess' して NKF.guess(str) した数値を
NKF::SJIS とか NKF::UTF8 とかと比較する
次スレ立てるよ
0986デフォルトの名無しさん
2010/03/22(月) 11:44:37GJ
0987985
2010/03/22(月) 11:47:14またの機会にどうぞ。。。
>>6の新稿
Windows で Ruby を使う初心者はとりあえず ActiveScriptRuby の 1.8.7 をインストールして慣れろ
OneClickInstaller は単に古すぎ、RubyInstaller は MinGW32 版で現状扱い怪しい、cygwin 版は cygwin マニア専用
IDE のお勧めは特にない(せいぜい汎用のEclipseかNetBeans)、RDE は古くて独自すぎで Ruby に慣れた人向け
■ Windows でとにかく迷いたくない普通の人 … ActiveScriptRuby 1.8.7
ttp://arton.hp.infoseek.co.jp/indexj.html
の題字のでかい 「ActiveScriptRuby 1.8.7(p249) with-winsock2 tcl-stub」
マニュアルはWebで見ることもできるが手元にあると便利、1.8.7 の HTML ヘルプ版が
ttp://www.ruby-lang.org/ja/documentation/
の「Rubyリファレンスマニュアル刷新計画 chm版 1.8.7用」
夢のお告げ等、何かの間違いで Ruby の知識がないうちから 1.9.1 を使って苦しみたいマゾい人は
ttp://www.artonx.org/data/asr/ の「Ruby-1.9.1-p数字 Microsoft Installter Package」
0988デフォルトの名無しさん
2010/03/22(月) 11:54:040989デフォルトの名無しさん
2010/03/22(月) 11:54:060990デフォルトの名無しさん
2010/03/22(月) 12:00:24と>>987の心中をエスパーしてみた
0991デフォルトの名無しさん
2010/03/22(月) 12:03:050992デフォルトの名無しさん
2010/03/22(月) 13:55:060993デフォルトの名無しさん
2010/03/22(月) 14:05:27なかよくつかってね
Ruby 初心者スレッド Part 36
http://pc12.2ch.net/test/read.cgi/tech/1269233796/
不備があったらテンプレのあとによろしく
0994デフォルトの名無しさん
2010/03/22(月) 14:18:18RubyInstallerだからだめという話にはなってねー
中身がMinGW32であることが、問題切り分けとスクリプト手修正のできない初心者には厳しいという話
0995デフォルトの名無しさん
2010/03/22(月) 16:10:38梅。
0996デフォルトの名無しさん
2010/03/22(月) 16:16:510997デフォルトの名無しさん
2010/03/22(月) 16:19:090998デフォルトの名無しさん
2010/03/22(月) 17:54:480999デフォルトの名無しさん
2010/03/22(月) 18:02:441000デフォルトの名無しさん
2010/03/22(月) 18:08:0510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。