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


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

Ruby 初心者スレッド Part 33



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 ]
なんか直接いじればどうにかなりそうな気はするんだけどねえ






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

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

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