1 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 14:21:25 ] プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。 ★注意★ Ruby 1.9.1 は初心者にはまだ時期早尚です。初心者には Ruby 1.8.7 を強くお勧めします。 (理由:現時点では多くの有名ライブラリやアプリが 1.9.1 に完全対応していないためです。) 1.8.7 でも 1.9 系に導入された新機能のいくつかが利用可能なため、1.8.7 を習得すれば将来スムーズに 1.9 系に移行できるでしょう。 関連スレやURLは>>2-5 あたりを見てください。Ruby on Rails の質問は Webプログラミング板の Rails スレへ。 ■質問する人へ 質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。 ・モジュール名やエラーメッセージでググる ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/ ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ 質問には以下を書くこと。へたくそな質問は再提出を要求される。 ・詳しい内容(「動きません」「うまくできません」では回答しようがない) ・エラーメッセージ(自力で訳さずなるべくそのままで) ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる)) ・最終的にやりたいこと(もっとよい方法がある場合が多いので) 回答してくれた人には「ありがとう」のひとことをいってあげて。 ■回答する人へ 相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。 それができないならこないこと(だって初心者スレだもん)。 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
641 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:12:02 ] (つづき) Microsoft(R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. cl -nologo -I. -I. -IC:/ruby/lib/ruby/1.8/i386-msw in32 -I. -MD -Zi -O2b2xg- -G6 -DHAVE_SYS_TYPES_H -c -Tcnarray.c cl : コマンド ライン warning D9035 : オプション 'Og-' の使用は現在推奨されていま せん。今後のバージョンからは削除されます。 cl : コマンド ライン warning D9002 : 不明なオプション '-G6' を無視します narray.c c:\ruby\lib\ruby\1.8\i386-mswin32\config.h(2) : fatal erro r C1189: #error : MSC version unmatch NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN \cl.EXE"' : リターン コード '0x2' Stop. Gem files will remain installed in C:/ruby/lib/ruby/gems/1.8/gems/narray-0.5.9.7 for inspection. Results logged to C:/ruby/lib/ruby/gems/1.8/gems/narray-0.5.9.7/src/gem_make.out
642 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:27:46 ] >>630 cgi.rbがゴミなのでしょうか? 他に使いやすいCGIライブラリってありますか?
643 名前:640 mailto:sage [2010/01/13(水) 00:32:06 ] こういったライブラリはmingw32でコンパイルできるものなのでしょうか?
644 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 00:49:49 ] >>642 いまのところの本命はRackやRackに基づいたもの。
645 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 01:03:24 ] .. (. . ) ,―ヽ__(__、― ,/ ノ ヽ ~\ / ノ IPA ヽ ~\ / ノ ヽ、 `ヽ | ノ / ̄\ / ̄~ヽ ヽ i | ノ | ノ \ | <●> <●> ( ) \ | | | i / | / ヽ レ i (●_●) / i、 ,-――-、 ・ / i、 <(EEEEE)> ∵/ RubyはIPA Rubyになったピョん☆ i、 \ ./ / \ ーー ,ノ ,,.....イ.ヽヽ、ー-―一ノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | ||
646 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 01:24:34 ] 初心者には Ruby 1.8.7 を強くお勧めします。とありますが、 公式から初心者のためのRubyインストールガイドに飛んで、 <URL:rubyforge.org/projects/rubyinstaller/> でダウンロードできます。 に行ったところ、1.8.6と1.9.1しか見当たりません ど初心者なので安心な公式からのリンクのインストーラを使っておきたいところなんですが 興味を持っていざ足を踏み入れてみたものの、いきなり迷子になってます
647 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 01:29:31 ] >>640 rubyをコンパイルしたのと違うバージョンのコンパイラを使うと ランタイムライブラリが衝突する関係上、拡張ライブラリはコンパイルできない ただしVC6とMinGWは同じランタイム使うのでそこの互換性はあり つーことで、>>643 はrubyがVC6かMinGWでコンパイルされている条件付でyes
648 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 01:33:27 ] >>646 そういえばOne-Click Installerって1.8.6までだったね groups.google.co.jp/group/comp.lang.ruby/browse_thread/thread/3212e4e1a32d8526 >>592 にあるRumixってのを試してみては 不安なら他の人のレスを待って
649 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 01:43:57 ] >>648 ありがとうございます 教えてもらったRumix - Ruby Starter Package with Installer でインストールして初めてみたいと思います
650 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 01:46:22 ] >>646 とりあえず始めるにはRubyGemsつきの以下の2つをオススメしたいな ActiveScriptRuby(ただし、少し古いので外部公開とかは注意) COM Meets Ruby arton.hp.infoseek.co.jp/indexj.html か、>>592 のRumixをどうぞ Rumix - Ruby Starter Package with Installer ruby.morphball.net/rumix/ Rumixの方は試してないからわからんが、コッチの方がRuby1.8.7でも新しい。
651 名前:640 mailto:sage [2010/01/13(水) 01:48:30 ] ありがとうございます。 RubyはVC6版(ActiveScriptRubyのだと思う)のはずなので、MinGWでコンパイル試してみます。
652 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 01:54:49 ] >>650 わざわざありがとうございます ActiveScriptRubyもチェックしてみたいと思います
653 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 06:54:52 ] 環境によってrubygemsがアホみたいに遅くなるのはどのWindows版だっけ
654 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 07:03:58 ] >>653 mswin32が爆弾持ち 絶対にmingwもいれて比較すべき 遅く感じないならどっちでもいい 遅くない人もいるみたいだから
655 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 07:34:04 ] 1.8.7のインストーラ用意してないのは、単なる手抜き? まあ教祖自身がウィンドウズ使ってないから放置なんだろうけど。
656 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 07:55:04 ] マストでないので、やる人員が確保できなければ特段用意されない
657 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 08:15:41 ] マイクロソフトあたりが環境用意してくれるのはきっと大歓迎。
658 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 09:20:36 ] >>655 自身が必要なら手を上げれば今なら英雄候補生
659 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 10:52:00 ] arr.insert(0, obj) ってなんか意味あんのかね arr.unshift(obj) と一緒だよね ただのデータ配列なのでキュー関連の物言いを嫌ったのかね
660 名前:デフォルトの名無しさん [2010/01/13(水) 16:12:42 ] floatの内部表現を表す4バイトを指す文字列(ポインター)が欲しいのですが、どうすればいいのでしょうか C言語で書くとこうなります。 float f[] = {1,2,3,4,5,6}; unsigned char* p = (unsigned char*)f; OpenGLを使っていて頂点データをGPUに送るのに配列の生データが欲しいのですが……
661 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 16:49:47 ] >>660 pack調べろpack
662 名前:デフォルトの名無しさん [2010/01/13(水) 17:04:11 ] >>661 .pack("f*")で出来た。まじサンクス。 @@vertices = [1,0,0, 0,1,0, -1,0,0].pack("f*") @@indices = [0,1,2].pack("f*")
663 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 19:37:31 ] >>659 すまん。レスの趣旨がつかめん。 挿入位置によってメソッド使い分ければいいじゃんてことが言いたい?
664 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 11:08:18 ] スタックとみなしてる意図のメソッドと、キューとみなしてる意図のメソッドってあるよね とかそんなことだと思う
665 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 17:43:13 ] たまたま何処かでそういうコードを見かけて、unshiftで事足りるのに わざわざinsert使っているのは何故なんだっていうところだろうね。
666 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:04:56 ] バグを見つけたらどうしたらいいの?
667 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:16:27 ] [BUG] と出て落ちたとか Segmentation Fault したとかならまず検索かな たいていは既に報告してて対処待ち Rubygems みたいな外部ライブラリのバグっぽい感じのものならやっぱ過去の報告とか調べて それでもなさそうなら Rubyforge や GitHub のページのバグ報告あたりに出すといい ただ、断言してもいいけど6割はただの勘違いで、残りのうち3割5部は既に報告済みだと思う どこのどのへんが怪しい動作と思えるのかここで言ってみ 報告のためにはそれなりに体裁とか前提条件とか洗い出さないと対処してもらいにくいけど ここで何か言えばそのためのヒントくらいは出るかもよ
668 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:20:12 ] >>665 unshift と書いてあったら俺はキューのようなものだとみなす キューでもないのに unshift と書いてあったらたぶんキレる 先頭に要素突っ込みたいなら insert 使え 最後に要素突っ込みたいなら << か push 使え
669 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:27:34 ] 沸点低いなー まあ確かに順番必要ないのにArray使ってる例というのは結構あって
670 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 21:33:30 ] バグの情報はどこにあるの? Googleで4・50件ほど見たけど無かった。 win32でコマンドラインに特定の非ASCII文字を含むディレクトリ名を指定するとワイルドカードが展開されない
671 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 21:35:23 ] bugはここ redmine.ruby-lang.org/projects/ruby/issues?set_filter=1&tracker_id=1 サンプルコード見せて
672 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:16:49 ] >>670 非ASCII文字の中に「表」とかの \ で終わる文字が入ってるんだろ
673 名前:デフォルトの名無しさん [2010/01/14(木) 23:06:29 ] Do One Thing for Rails 3 on January 16th and 17th railsbridge.org/news_items/10
674 名前:デフォルトの名無しさん [2010/01/14(木) 23:11:49 ] Rubyでwebアプリ作るときはcgi使うのとERB使うのと お作法的にはどっち?
675 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:13:46 ] どっちもつかわねー、というのが答ではあるが 初心者のうちは全部使って長所短所欠点体に刻んどけという気はする どうせ外に出したりしないだろ
676 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:15:09 ] 何使うの?
677 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:15:28 ] >>670 その「特定の非ASCII文字」が何かによって答えは変わる。 シフトJISにない文字なんじゃないかと思うが如何?
678 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:13:11 ] >>644 RackやRackに基づいたもので、普通のCGIは作れるのでしょうか? 調べてみても、mod_railsとかmongrelとかの環境を作らないと 動かせないように見えるのですが...
679 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:20:18 ] >>678 できる できるが、rack/cgi はリリースされても全く動かなかったことがある (つまり誰も本気でテストしてなかった)というヤな過去があって つまり誰もやってないんだよね 理屈上はできるし理屈上はRackでやるとキレイなんだけど、 CGI作るということ自体がもうあまり流行らないから
680 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:28:29 ] >>671 D:\tmp\r>ruby -e "p ARGV" D:\tmp\r\本/* ["D:\\tmp\\r\\本/*"] D:\tmp\r>ruby -e "p ARGV" D:\tmp\r\表/* ["D:\\tmp\\r\\表/*"] D:\tmp\r>ruby -e "p ARGV" D:\tmp\r\漢/* ["D:/tmp/r/漢/新規テキスト ドキュメント.txt"] 漢字の2バイト目が\とか{とか
681 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 02:40:12 ] とりあえずバージョンを書いて 1.8.7p160だと問題なかった pの出力で日本語が出てることをみると1.9系だと思うが 1.9.1p243だと >>680 と同じ状態 Dir.glob に渡した時はちゃんと展開されるが コマンドライン引数を展開する時はダメなんだね UNIXだとコマンドライン引数のワイルドカードはシェルが展開するから、開発者には気付かれにくいのだろう 昔の1.8は Dir.glob自体がSJISに完全対応してなくて、コマンドライン引数にも同様の不具合があったけど 今回のはコマンドライン引数の時だけの不具合なのか
682 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 03:16:56 ] def set_select_quests for i in 0..9 quest_number = rand(10) @select_quests |= quest_number.to_a if select_quests_flag(quest_number) end end def select_quests_flag(index) return false if @select_quests.include?(index) #・・・@ return true end @で@select_questsに同じ要素が入っている場合falseを返す様にしたいのですが この場合include?(val)メソッドしかないですよね? なんかうまく動かないんですがどこか間違ってますか?
683 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 03:29:47 ] >>682 @select_quests << quest_number if select_quests_flag(quest_number) かな
684 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 04:05:24 ] >>654 え、うそ!!!1 RubyGemsが遅いのってmswin32版のせいなの??? くっそー今まで散々苦労してきたのにー 確かにcoLinuxとかだとめっちゃ早いと思ってたわ。 mingw版だと早い?、とか
685 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 06:38:43 ] とりあえずgemはバージョンが古かったら サーバ側でバージョンが古いと怒って欲しい
686 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 07:35:58 ] >>685 おう、そういう機能入れたから、rubygem をアップデートしてくれ というわけで鶏と卵だ
687 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 07:43:14 ] >>682 def initialize @select_quests = Array.new ... end def set_select_quests (0..9).each.do |i| quest_number = rand(10) # @select_quests に quests_number が含まれてなかった場合追加する @select_quests << quest_number if @select_quests.include?(quest_number) end end
688 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 08:06:58 ] >>687 のifはunlessの間違いだと思う冬の朝
689 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:25:24 ] rubyはwindowsで動かすとどうして遅いの? ずーと前からみたいだけど直すきないの?
690 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:28:45 ] 開発者がアウトオブ眼中だから
691 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:29:00 ] >>689 なんでWindozeを使ってるの? LinuxやBSDやSolaris使えばいいだけじゃないの? 文句言ってるだけで何も行動しようとしないのはなんでなの?
692 名前:682 mailto:sage [2010/01/15(金) 20:46:00 ] ありがとうございました うまくいきました
693 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:46:26 ] >>689 めんどくさいから いやマジで 誰にでも絶対に起こるなら直されると思うんだが実際はそうではない
694 名前:デフォルトの名無しさん [2010/01/15(金) 20:50:00 ] >>689 >>691 みたいな人ばっかりだから
695 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:55:02 ] >>693 だよね むしろ嫌がらせっぽい
696 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:26:17 ] WindowsOSがやめられないので、ちょっとずつPythonに移行し始めたよ。 既存のクラスにメソッド追加したり、injectとかがちょっと使いづらい以外不満はない。
697 名前:sage [2010/01/15(金) 21:29:39 ] Pythonたんは、純粋なオブジェクト指向じゃないよね。 len() とか気持ち悪い。
698 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:37:14 ] >>697 最初はそう思ってたけど慣れればそんなもんかって思えるよ。 あとは、三項演算子やcase文がないのがちょっと残念くらいなもんか。
699 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:38:39 ] >純粋なオブジェクト指向 Rubyも「+」とか「end」はオブジェクトじゃないよね
700 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:41:20 ] >699 不完全性定理というのがあってだな
701 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 22:19:11 ] 文字列をn文字ずつ&1文字ずつに分割したいのですが x = "ABCDEFGHIJKLMNOPQRSTUVWXY" x = x.scan(/.{5}/) x.collect!{|y|y.scan(/./)} p x =>[["A","B","C","D","E"],["F","G","H","I","J"],["K","L","M","N","O"],["P","Q","R","S","T"],["U","V","W","X","Y"]] みたいに書くと都度、正規表現によるマッチが行われるので遅いです もっと高速に実行する方法があったら教えてください。よろしくお願いします
702 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 22:20:42 ] まあ俺は自分の仕事が片付けばいいだけだから オブジェクト指向の純粋さなんてどうでもいいわ
703 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 22:31:44 ] >>701 x.chars.each_slice(5).to_a とか。 Benchmark.bm で1万回ずつやった時間を比較したら半分弱の時間だった。
704 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 22:37:37 ] >>701 x.split(/.{5}/) x.split(//) がたぶん一番速い これでも遅いという場合はそもそもそんな莫大な配列を文字から作る理由は何というとこから
705 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:10:56 ] >>704 そもそも要件を全然満たしてない件
706 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:17:57 ] enumeratorと配列の違いって何ですか? なんとなく大体同じもののように思えるんですが
707 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:42:36 ] 超巨大な集合から1つずつ取り出そうとしたとき、Enumeratorは全部を 覚えていなくてもいいぞ。 alphabets = %w(a b c d e f g h i j k l m n o p q r s t u v w x y z) alphabets.combination(13).first(5) は造作もないが alphabets.combination(13).to_a.first(5) はたぶんメモリ足りない。
708 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:46:48 ] >>706 数えられて、返ってくる順番が保証されないのがEnumerator Enumeratorを継承してるので数えられて、しかも順番情報を保持するようにしたのがArray こう考えるとSetの出番がないんだがまあ誰も覚えてないし誰も使ってないと思うので気にするな
709 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 12:34:07 ] >>701 シングルバイト文字限定でいいのかな? であれば x = "ABCDEFGHIJKLMNOPQRSTUVWXY" res = [[]] x.each_byte do |b| if res[-1] < 5 res[-1] << b.chr else res << [] end end で,どうでしょう?
710 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:39:59 ] ruby1.9の正規表現で,\wがマルチバイト文字にヒットしてくれません。 以下のコードはなにか間違っていますでしょうか? # coding: cp932 p "日本語" =~ /\w/s #=> nil 鬼車のドキュメントには\wは多バイト文字にマッチすると書かれているのですが。 ttp://www.geocities.jp/kosako3/oniguruma/HISTORY_5X.txt
711 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:44:55 ] \w は Ruby では元々 [0-9A-Za-z_] という意味のメタ文字だったので、 1.9 でもそうなってる。
712 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:51:19 ] >>711 Thanksです。 マルチバイト文字を含めた単語構成文字にマッチするナイスな正規表現ってありませんか? あとドキュメントのURLが間違ってました。 ttp://www.geocities.jp/kosako3/oniguruma/doc/RE.ja.txt
713 名前:710 mailto:sage [2010/01/16(土) 14:58:14 ] 自己レスです # coding: cp932 "日本語" =~ /\p{Word}/s でいけました。
714 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 15:02:56 ] たしか ¥d が漢数字にマッチしてしまって使いにくくなってたので その種のは使い分けるようになったんだっけ?
715 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 17:22:03 ] >>709 1.9系なら↓でマルチバイトもOK x = 'あいうえおかきくけこさしすせそ' res = [] x.each_char.each_slice(5){|a| res << a}
716 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 17:29:26 ] これでもできるな x = 'あいうえおかきくけこさしすせそ'.each_char.each_slice(5).map{|a| a}
717 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 17:32:17 ] Windowsのユニコードのファイル名が扱えるライブラリはありますか?
718 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 17:33:00 ] >>717 ありません
719 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 17:38:28 ] いやいやいやいや、直接API呼べば問題ないからさ そういうライブラリがrubygemsあたりにでもないかという話だろう でもこれで困るの日本人とかだからなー
720 名前:701 mailto:sage [2010/01/16(土) 18:50:38 ] レスありがとうございます >>703 の方法が一番早いようなのでこれを使わせてもらいます
721 名前:デフォルトの名無しさん [2010/01/17(日) 10:37:45 ] 皆さんはRubyのコードを何で書いてるのでしょう? やっぱり、Emacs or vim? 補完が効くのが良いのですが・・・・
722 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 10:48:27 ] Emacsが無難ということに一応なってはいる 適当な統合環境が快適に動作する環境なのなら、エディタ部のコード書きの補完機能だけ使うのも悪くはない Emacsを一度も使ったことがなくて基本キー操作から覚えなければならないというのだとすれば尚更 Emacsが好まれてるのはエディタの軽さの範疇を実際上は超えてないというのが大きい もしEclipseやNetBeansが超サクサク動作だったならEmacsは時代遅れ度を2段階くらい上げていたはず
723 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 11:02:32 ] Emacsは現代的なIDEが提供するところの補完機能を厳密にはもってない …まあ、実用上はそれほど困らないが
724 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 11:35:27 ] 拙者は秀丸でござる。 感謝の意を込めてちゃんと送金したでござる。
725 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 11:35:48 ] Emacs で指がつったら vim も試してみてね by vim厨
726 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 11:46:52 ] >>721 主にNetBeans使ってる。IDE厨なのでw ただし、NetBeansの最新の6.8はいろいろとバグが・・・
727 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 11:57:45 ] 俺もいわゆるスクリプト程度しか書かないからEmacsで十分だな でもたしかにIDEがエディタ同様に軽ければそっち使うかも
728 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:36:38 ] 通常のエディタでは慣れてくると物足りない(プログラミング初心者は補完のないエディタでやること) IDEはおおむね重いし遅いしプロジェクトとかそんなのが必要な大作ばかり作るわけじゃないから邪魔 というところにすこんと入るのがEmacs 全部できるが余分で煩雑で重い、というものを使うよりは、 やや足りなくて手作業が入るが軽快、のほうを選ぶ人は意外と多い
729 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:17:32 ] emacs自体あんまり使わないんだけど、ショートカットキー一発で 全体を整形&フィリング(emacsではこういうのかな)できる設定ないかしら。
730 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:20:51 ] あるお。 俺はCtrl-x hとかしたあと、Ctrl+Alt+\を押してる。 フィリング?は知らんけど。
731 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:20:54 ] 結局>>717 は無いの?
732 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:21:05 ] class C def hoge とても長いメソッド... local_var = value #<= ここだけを書き換えたい ... end end メソッド定義内のローカル変数たった一行を書き換えたいんです。 とても長いメソッドなので,class_eval{def...無意味なコピペ...end}をしたくありません。 スパッと書き換えることはできませんか? とりあえずSCRIPT_LINES__とripperを使えば20行くらいでできるのですが, もっとストレートな方法があるかもしれないと思い質問しました。 ちなみにbindingを使った実験には失敗しました。 よろしくお願いします。
733 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 14:05:33 ] >>731 本スレ行って聞いてみたら
734 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 14:22:30 ] Emacs が軽快とか隔世の感、とか言うのは多分年寄り。
735 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 14:32:07 ] 今は通信速度が速いから、Emacs も簡単にダウンロードできる。 昔はフロッピーで小分けにして、配布してたな。
736 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 14:36:14 ] >>731 Perlの↓相当がgemにあればいいんだろうけど perl-users.jp/articles/advent-calendar/2009/hacker/20.html いまgemでサーチかけた感じだとなさそう 必要なら↑を参考にしてRubyにportしたら?
737 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 14:46:29 ] >>731 1.9.2で扱えるようになるかも、ってことらしい blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/45826
738 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 14:54:30 ] >>731 >>736-737 あれ、WindowsだとUNICODEファイル名ダメだったのかー gemでモンキパッチみたいに簡単にWindowsのときだけOKにできるのとかあったら便利そうだね。 システムの根底だから難しいのかね
739 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 20:48:07 ] >>736-738 ありがとう。だが初心者にはハードル高すぎ 1.9.2に期待しまつ。いつごろ出るんだろ?今年の春頃?
740 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 20:52:56 ] 一応「もう出てる」レベルではあるんだが、Windowsでは自力でソースからコンパイルしないといかん rubygemsとかも未対応で動作しない可能性も大きい しばらく前の1.9.1状態 来年くらいには使える状態になってるんじゃないかなあ
741 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 21:21:56 ] なんか直接いじればどうにかなりそうな気はするんだけどねえ