Rubyについて Part 10
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGRuby Home Page
http://www.ruby-lang.org/ja/
= 前スレ
: Rubyについて Part 9
http://pc5.2ch.net/test/read.cgi/tech/1087999575/
0002デフォルトの名無しさん
NGNG= 過去スレ
: Rubyについて Part 8
http://pc5.2ch.net/test/read.cgi/tech/1079975637/
: Rubyについて Part 7
http://pc2.2ch.net/test/read.cgi/tech/1074235226/
: Rubyについて Part 6
http://pc2.2ch.net/test/read.cgi/tech/1067623825/
: Rubyについて Part 5
http://pc2.2ch.net/tech/kako/1063/10630/1063028224.html
: Ruby について Part 4
http://pc2.2ch.net/tech/kako/1056/10569/1056944114.html
: Ruby について Part 3
http://pc2.2ch.net/tech/kako/1042/10420/1042004759.html
: Rubyについて Part 2
http://pc3.2ch.net/tech/kako/1028/10289/1028906179.html
: Rubyについて
http://pc3.2ch.net/tech/kako/1012/10120/1012096319.html
0003デフォルトの名無しさん
NGNG= 関連リンク
: リファレンス
http://www.ruby-lang.org/ja/man/
: Ruby Weekly News @ Ruby Garden
http://www.rubygarden.org/rurl/html/
: ruby-cvs
http://rrr.jin.gr.jp/rwiki?cmd=view;name=ruby-cvs
: Ruby hotlinks 五月雨版
http://rrr.jin.gr.jp/~znz/samidare/
: 日本Rubyの会
http://jp.rubyist.net/
: Rubyist Magazine
http://jp.rubyist.net/magazine/
: <rubyXML/>
http://www.rubyxml.com/
: Matzにっき
http://www.rubyist.net/~matz/
= 関連スレッド
: rubyを語るスレッド 4
http://pc.2ch.net/test/read.cgi/unix/1060537252/
: 【最高言語】 Rubyist Magazine創刊 【ルビま!】
http://pc5.2ch.net/test/read.cgi/tech/1094825807/l50
0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG554 名前:デフォルトの名無しさん[sage] 投稿日:04/09/09 17:52
埋め込みはRubyでやろうかと思ったけど面倒そうなので一分であきらめた。
埋め込みたければ言語にはこだわらずにメジャーなの使ったほうがいいんじゃないの。
555 名前:デフォルトの名無しさん[sage] 投稿日:04/09/09 21:56
簡単だけどな・・・
どこが難しかったの?
556 名前:デフォルトの名無しさん[sage] 投稿日:04/09/09 23:12
>>555
難しいという以前にRubyの低レベルな知識が皆無な状態で
ここからここまでを読めば埋め込みできるってドキュメントが見つからなかったから。
ついでに技術デモになるようなexeも実際に採用したフリーウェアも見当たらなかった。
557 名前:デフォルトの名無しさん[sage] 投稿日:04/09/10 00:37
Apolloはチェックしたのか?
ttp://www.moriq.com/apollo/
558 名前:デフォルトの名無しさん[sage] 投稿日:04/09/10 02:00
チェックしたよ。その上での>556。
WEB眺めてもApollo\Docを眺めても(だいたいApolloのヘルプなんて置いてないし)
どこから手をつけていいのかわからなかったし
簡単に行きそうな気配が微塵もしなかった。
で結局DMokeyに落ち着いた。
シンプルなヘルプを上から下まで一読してあっさり動いたよ。
0008デフォルトの名無しさん
NGNG動いてますよ。
0009デフォルトの名無しさん
NGNG少なくともPerlよりは使いやすそうだと思ったが…
オフィシャルのリファレンスが全て日本語だし。わかりやすいかと聞かれると微妙だけど…
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGPerlはベタ書きでダラダラやってもそれなりに苦労せずに動かせるから。
保守は絶対したくないけどさ。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGインデント+endでダラダラ書きすぎると、ブロック構造読み取り(&デバッグ)
すらも大変になってくるから、if {}ってな感じのPerlのほうがそういう用途には
向いてるんじゃないかと思う。
0014デフォルトの名無しさん
NGNGCがはやり始めたころは、{}は読みにくい、begin,endが良いって意見が根強かったけど。
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGこういう方法は?
<% $LOAD_PATH << '追加したいパス' %>
0019デフォルトの名無しさん
NGNGあるだけど、%rの意味がわかりません。
case http_header_analyze(sock)
when %r|^/$|
002019
NGNG正規表現ですね。
0022デフォルトの名無しさん
NGNGpthread_t theThread;
void *thread_code(void *t)
{
・・・
}
main()
{
・・・
pthread_attr_init (&attr);
sched_param.sched_priority = 4;
pthread_attr_setschedparam (&attr, &sched_param);
ret = pthread_create (&theThread, &attr, thread_code, (void *) 0 );
・・・
}
優先度4のスレッド(thread_code 0)を作る部分なのですが、
main の中のこの4行を、優先度、スレッド名、スレッド番号を持つマクロに変換するには
どのようにしたらよいでしょうか?
002322
NGNG0024デフォルトの名無しさん
NGNGしかもタブ幅は8。
エディタによって激しく読みづらくなる
0025デフォルトの名無しさん
NGNGEmacs だとデフォルトでそうなっちゃうと思う。
漏れも以前そうだったけど、最近は (setq-default indent-tabs-mode nil) としてる。
0026デフォルトの名無しさん
NGNGemacs使いの人は (setq indent-tabs-mode nil) してからコードを書いて欲しい
0027デフォルトの名無しさん
NGNGホワイトスペースという言語がある。
お前がインデントだと思っている部分はおそらくホワイトスペースで書かれている。
一つのソースがコンパイラを使い分けることで二通りの解釈ができるということだ。
0028デフォルトの名無しさん
NGNGマジ迷惑
0029デフォルトの名無しさん
NGNGRubyですか?
Cとかではないですよね?
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG不思議な質問だ。
0032デフォルトの名無しさん
NGNGemacsですか?
秀丸とかではないですよね?
0033デフォルトの名無しさん
NGNGWinだとなぜかNoEditorだが。
0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGRubyは北朝鮮
Basicは中国みたいなもんだな
0036デフォルトの名無しさん
NGNGん?その心は?
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGあれは本当によくできている。
eclipseプラグインのやつにも、もう少しがんばってくれれば面白いものができそうな感じなんだけど
00411
NGNGRuby使うなら読め
・王道編
http://www.rubycentral.com/book/
http://www.pearsoned.co.jp/washo/prog/wa_pro44-j.html
好みに応じて……
・256本
http://www.ascii.co.jp/searchA/namazu.cgi?query=Ruby%A4%F2256&idxname=www.ascii.co.jp
・オブジェクト指向スクリプト言語Ruby
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3254-5.html
……て、読んだほうがいい本って、ホント無いな(除く王道編)。
0042デフォルトの名無しさん
NGNGたのしいRuby
http://www.notwork.org/sbp-ruby/
Rubyレシピブック
http://www.notwork.org/rubyrecipebook/
は?
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG00461
NGNGごめん、両方とも立読みしかしていないけど……
> たのしいRuby
これって、Class作成まで言及していたっけ?オブジェクト指向は
自分で用途に沿ったクラスを設計して使うというのが重要だと思うので、
クラスを使うところまでしか無いんじゃなぁ……
初心者向けにはいいかもね
> Rubyレシピブック
大半がリファレンスマニュアルに書かれているような気が……
もうちょっと(リファレンスに載っていないような)Tips的な内容を
期待していたんだけど……
まあ、リファレンスマニュアルよりわかりやすいから、そういう目的で
使うならいいかもね
00471
NGNGマジお勧め。これでRubyの概要がだいたい判る。
Programming RubyのライセンスはOpen Publication Licenseなんで、
誰か和訳して公開してくれないかな。
004842
NGNG『たのしいRuby』はクラスの作成についても書いてあるよ。モジュールとか
Mix-in とかの説明もちゃんとある。 GUI をやらなければ説明はひととおりあ
るし。
まあ、初心者向けにはよいかも、という意見には同意。
0049デフォルトの名無しさん
NGNGできるんだったら、すいません、やり方教えてください。
(できないような悪寒はしています)
0050デフォルトの名無しさん
NGNGえ?普通に
$ ruby -d hoge.cgi
でできねぇか?
0051デフォルトの名無しさん
NGNG$ ruby -rdebug foo.rb
0052デフォルトの名無しさん
NGNGスレに対するサービス拒否アタックまで残り2
999 :デフォルトの名無しさん :04/09/14 21:58:02
↓当スレに対するサービス拒否アタック↓
1000 :デフォルトの名無しさん :04/09/14 21:58:51
matz は日記のかわりにドキュメントを書いてほしい
1001 :1001 :Over 1000 Thread
208 KB [ 2ちゃんねるも使っている 完全帯域保証 専用サーバ Big-Server.com ] 30,000円/月
★ 転送量無制限タイプも新登場。
なんか、1001がサボってないか?
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNG005550
NGNG0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG> matz は日記のかわりにドキュメントを書いてほしい
こころから同意。
いや、本当に。
お願い。
日記のかわりにコードを書くでも可。
0058デフォルトの名無しさん
NGNGakr さんが軽く突っ込みを入れていたけど。
0059デフォルトの名無しさん
NGNGmatz が日記に書いたら勝手に実装してくれる小人さん多数きぼんぬ。
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGすぐ実装したら仕事なくなっちゃうでしょ。適当に時間稼いで間を持たせないと・・・
0062デフォルトの名無しさん
NGNGドキュメントって、分かってる人じゃないと書けないのよね。
分からないからドキュメントを見たいのに。
0064デフォルトの名無しさん
NGNG最小限の記述で必要十分な説明をする能力に欠けてるような気がする。
ドキュメントの質が低い。分量同じでももっとまともなのかけるだろ普通。
業務ではいったいどんなドキュメント書いてるのかね。
Windows向けのフリーウェアやライブラリの方がよっぽどちゃんとしたヘルプがついてるよな。
ルビ厨ってプロ意識に欠けてるよ。いくら趣味でやってるとはいえプロのプライドっつうもんがあるだろ。
0065デフォルトの名無しさん
NGNGあと、Rubyを広める気は本当に全く無いんだと思う。
0066デフォルトの名無しさん
NGNGとはいえ、人力であれだけできるというのもすごいけど。
0067デフォルトの名無しさん
NGNGフォームは標準入力から、クッキーは環境変数 HTTP_COOKIE から渡せるよ。
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG他の CGI ライブラリだと、解決されてたりしますか?
0071デフォルトの名無しさん
NGNGこれ以上何が足りないっていうのか。
0072デフォルトの名無しさん
NGNG釣り乙
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGHSPのがよっぽどオープンでフレンドリーだよ。
0075デフォルトの名無しさん
NGNGHSPやRubyみたいな厨言語に期待するお前がアホ
0076デフォルトの名無しさん
NGNG釣り乙
0077デフォルトの名無しさん
NGNG>>71みたいな馬鹿を見るとあながち釣りにも見えん。
0078デフォルトの名無しさん
NGNG実際にPlanet blogをやるのであれば、Pythonで書かれているaggregator
(http://www.planetplanet.org/)のRuby版を作るところからはじめた方が
いいのかな。Planet PHPもPHPなaggregatorを使っているし。
0079デフォルトの名無しさん
NGNG一体何のドキュメントが足りないのか言ってみろ。
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNGmoonwolf氏のblogがあったことを今知った
0083デフォルトの名無しさん
NGNGif v.class == String
elsif v.class == Array
end
0084デフォルトの名無しさん
NGNGcase
when v.is_a?(String)
...
when v.is_a?(Array)
...
end
でも可。 is_a? の場合はサブクラスでも拾われるという差がある。
0085デフォルトの名無しさん
NGNGふつーこうしない?
case v
when String
when Array
end
0086デフォルトの名無しさん
NGNGうそ〜?と思ったが、そのコードで動くのね。
しかし、'case v'って言ったら、vの値を評価してるかの
ように思えるが、vの型を評価するの?
0087デフォルトの名無しさん
NGNG===が、右辺にClassが来るときは……ってオーバーライドされてるんでなかろか。
知らんけど。
0088デフォルトの名無しさん
NGNGif String===v
...
elsif Array===v
...
end
0089デフォルトの名無しさん
NGNGでもさぁ、
>p "a"===String
は false なんだけど、
・・・と書き込もうと思ったが、
String==="a" は true なのね・・・・・orz
===って右と左を区別するのか。よぐわがんね。
0090デフォルトの名無しさん
NGNGgetaddrinfo: no address associated with hostname. (SocketError) とか
getaddrinfo: servname not supported for ai_socktype. (SocketError)
がでるんだけどなんで?
コマンドラインで動かすときは大丈夫なんだけど、cgiのときと何が変わるの?
0091デフォルトの名無しさん
NGNGまぁ、そういうトリッキーなことを考えずに、
素直にis_a?使っとけってことじゃないかなぁ。
===使ったってメソッド呼んでることに違いはないんだし。
0092デフォルトの名無しさん
NGNG===演算子もメソッドだから。
String === "a" は String.===("a")。
で===の中はこんな
def String.===(obj)
obj.is_a?(self)
end
なんでしょう。
0093デフォルトの名無しさん
NGNGあれこれ推測するのも良いけど、ドキュメント読んだ方が早いと思いますよ。
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Object#self.20.3d.3d.3d.20other
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Module#self.20.3d.3d.3d.20obj
0094デフォルトの名無しさん
NGNG比較演算子で、左右入れ替えると結果がことなるって気持ち悪いな。
0095デフォルトの名無しさん
NGNG主に所属関係・包含関係をチェックするメソッドだから、
左右入れ替えて結果が同じ方が気持ち悪いな。
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGclass Object
alias :∋ :===
end
v = "aString"
if String ∋ v
puts "String"
elsif Array ∋ v
puts "Array"
end
0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNGオレモダヨ
0100デフォルトの名無しさん
NGNG結局ナスカの地上絵風ので決定だったのですか?
0101デフォルトの名無しさん
NGNGRuby って2バイト文字の識別子使えるのか・・・・。
知らんかったよ。
0102デフォルトの名無しさん
NGNGそうなんだよね。
ってなわけで、 2バイト文字で AA な Ruby コード募集。
0103デフォルトの名無しさん
NGNGつらい
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG__call__しろ
0106デフォルトの名無しさん
NGNG----------------
おはようございます。〜〜
#{month}月#{day}日: 〜〜
----------------
こんなソース
----------------
#!/usr/bin/env ruby
tmp = ""
File.open("template.txt") { |f|
tmp = f.read
}
month = 9
day = 15
text = eval %Q|"#{tmp}"|
puts text
----------------
書いたんだが、
もっとスマートな書き方ない?
0107デフォルトの名無しさん
NGNG$ cat t.txt
<%=month%>月<%=day%>日
$ ruby -rerb -e 'month,day = 9,15; puts ERB.new(ARGF.read).result' t.txt
9月15日
0108デフォルトの名無しさん
NGNG>month = 9
>day = 15
>
>puts eval('"'+IO.read('template.text)+'"')
って感じになりました。 '"'+〜'"'ってのが汚い感じだけど。
0109108
NGNGで行けました・・・・orz
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNG$ ruby -e p [1,2] === 1'
false
$ ruby -r set -e 'p Set[1,2] === 1'
false
011281
NGNG結構いろいろな方法があるみたいだな。勉強になるよ。
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG>>95=>>97 です。
確かに「包含関係」って言ったのは正しくないみたいですね。
さらに、数学苦手なので、「所属性」を表す記号を (そもそも存在するのかさえも)
知らないので適当書きました。
すいません。
0115デフォルトの名無しさん
NGNGeval 使うのは怖くない?
class String
def replace(words); self.gsub(/#\{(\w+)\}/) { words[$1] }; end
end
words = { "month" => month, "day" => day, }
puts text = tmp.replace(words)
0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNGVBにもその機能があるのは知ってる。
VBがなにからパクったか、あるいはオリジナルなのかは知らん。
0118デフォルトの名無しさん
NGNGオレがはじめてみたのはAdaで時期は80年代だった。
0119デフォルトの名無しさん
NGNG漏れの個人的意見としてはObjective-Cっぽくも感じる。
(あれは引数名がメソッドシグニチャに埋め込まれてるつー方がまだ正確か)
0120デフォルトの名無しさん
NGNGCGI とか見たく、hash でその機能を実現してるのもあるよね。
実行速度的は hash と変わらない感じなのかな。
ところで、その機能はどんな表記で利用できるの?
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG漏れも見えない。
つーか、IEとFirefoxでそれぞれソース表示させたら全然違うし。
0123デフォルトの名無しさん
NGNGw3m
0124デフォルトの名無しさん
NGNGmacOS10.3.5 ブラウザSafari1.2.3ですが閲覧不可です。
以下のメッセージが表示されています。
------------------------
ページ “http://cvs.m17n.org/~akr/diary/” を開けませんでした。
エラー:無効なサーバ応答(NSURLErrorDomain:-1011)
、エラー番号とこのメッセージが表示される前に行った動作の説明を記載して、“Safari”メニューから“Apple にバグレポートを送信”を選択してください。
------------------------
やれやれ。
0125デフォルトの名無しさん
NGNGメジャーなブラウザでは見れないようにしてるみたいね
>>123が言うように、いつもw3mでみてる。
0126デフォルトの名無しさん
NGNGアリガトー
テンプレート系は、CGIじゃなくてもerb使うのが王道なのね。
evalは最後の手段と。
>>115は面白いな。
勉強になりまスタ
0127デフォルトの名無しさん
NGNG0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGテンプレートの対象がHTMLならamritaも便利ですよ。
0130デフォルトの名無しさん
NGNG70年代前半のLISPかSmalltalkのどっちか。
0131デフォルトの名無しさん
NGNG「たのしいRuby」を買ってきたんですが
いきなり文字列だとかメソッドだとか言われてもちんぷんかんぷんです。
基礎の基礎の考え方から勉強できるような本はないでしょうか。
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNGそこでHSPですよ。
0134デフォルトの名無しさん
NGNG> だが、作者の頭の中にしかない仕様は参照できない。
どうよ?
0135デフォルトの名無しさん
NGNG本じゃないのがちとつらいけど,
http://ruby.mirror.easynet.be/ja/uguide/uguide00.html
とか、どう?
って,すこしむつかしいかな。
0136デフォルトの名無しさん
NGNGとりあえず自分の名前を表示するプログラムを作ってみよう。覚えるには使ってみるのが一番だと思う。
あとは「自分が書いたプログラムで何をしたいか」だな。
0137デフォルトの名無しさん
NGNG難しくはないにしても激しくわかりづらい。
Ruby入門ではなくRubyによるプログラミングの入門書ってのは確かにないかもな。
line = ''
indent=0
$stdout.sync = TRUE
print "ruby> "
while TRUE
l = gets
unless l
break if line == ''
else
line = line + l
if l =~ /,\s*$/
print "ruby| "
next
end
if l =~ /^\s*(class|module|def|if|case|while|for|begin)\b[^_]/
indent += 1
end
if l =~ /^\s*end\b[^_]/
indent -= 1
end
if l =~ /\{\s*(\|.*\|)?\s*$/
indent += 1
end
if l =~ /^\s*\}/
indent -= 1
end
if indent > 0
(ry
0138デフォルトの名無しさん
NGNG結城浩先生,Rubyに転ばないかな〜。
0139デフォルトの名無しさん
NGNGコードの字面で一喜一憂するほど子供じゃないからね。
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG> paint do | dc |
> dc.clear
> dc.draw_bitmap(@bitmap, 0, 0, false)
> end
って何やっているんだかわかる人いる?
paint do | dc |とendの働きがさっぱりわからん…
doってRubyのマニュアルにもないしwxRubyのマニュアルにも見あたらないし…
0142デフォルトの名無しさん
NGNG読解力無いの?それは「『簡単なプログラム』の例」ではないでしょ。
# 書かれた当時は irb も無かったはず。
0143デフォルトの名無しさん
NGNG……ネタか?
do … end は { … } と(ほとんど)同じだが。
ところでみなさま、do … end と { … } の違いって何?優先順位だけ?
昔は「値を返す時は{ … }」だったみたいだけど。(Rubyist Magazine より)
0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNG0146デフォルトの名無しさん
NGNGだよな。
リファレンスマニュアルにだってちゃんと・・・、と思ったら見当たんねー。
どこかに書いてある?
0147デフォルトの名無しさん
NGNG0148146
NGNGこりゃふつーは捜し当てられないんじゃなかろうか。
0149デフォルトの名無しさん
NGNGRubyの文法 > メソッド呼び出し > ブロック付きメドッド呼び出し
0150デフォルトの名無しさん
NGNGttp://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%A5%E1%A5%BD%A5%C3%A5%C9%B8%C6%A4%D3%BD%D0%A4%B7#a.a5.d6.a5.ed.a5.c3.a5.af.c9.d5.a4.ad.a5.e1.a5.bd.a5.c3.a5.c9.b8.c6.a4.d3.bd.d0.a4.b7
ってURL長ぇな……
0151141
NGNGごめんなさい。大マジです。マヌケな質問に答えてくれてありがとうございます。
do〜endと{〜}ってほとんど同じなんですか…
書き換えてみたらそのまま動きました。
リファレンスマニュアルの機能別検索を見て無い無い思っていたんですけど
メソッド呼び出しの所にあったんですね…_| ̄|○ il||li
0152143=150
NGNGここにたどり着くのは容易じゃないかもなあ。
どうすりゃ分かりやすいだろう。
・do は予約語っぽい → 予約語一覧から、それぞれ関係ある項目にリンクを貼る
とかか?
>>151
ネタ扱いして失礼。最初どんな風に検索してどのページを見たか
(そしてどこで諦めたか)を教えてくれると、リファレンスを改善できて助かる。
0154デフォルトの名無しさん
NGNG冗長な表記を避けて書かれた既存のコードを読む場合可読性が非常に低く
暗号的という意味ではPerlと大差なかったりするとかしないとか。
0155141
NGNG俺の場合…
・doって制御構造で使われていたような…→for/whileとかであるけど単独の使用例は見つからず→空振り
・んじゃ検索で「do」を…→当然のように大量引っ掛かかる→あきらめ
・なら機能別検索で…→do単独の項目が見つからず→お手上げ
でした。
できればリファレンスマニュアルが項目ごとに全文検索できればいいのですが…
今の構造じゃ難しそうですね。
>>154
大なり小なり言語にはつきまとう問題だと思う。オブジェクト指向な言語ほど顕著かも
C++なんかも他人のコードはかなり読みにくい気がする。
確かにRubyは自由度が高すぎる感はあるよね。あと、"ほぼ"同機能なコードがあったりとか。
0156デフォルトの名無しさん
NGNG>初学者にとってはRubyは同機能異表記な機能が多すぎて混乱する
「他人の書いたコードを読む時」ってことかな。
両方知ってて好きな方を使う分にはいいけど、初学者は
「この例に出てくるcollectって何? mapとは違うの? …(調べる)…って一緒かよ!」
みたいになる、と。
>冗長な表記を避けて書かれた既存のコードを読む場合可読性が非常に低く
こっちはよく分からないので例キボン。
個人的には、Hashでよく使われる「var ||= value」は可読性が低いと思う。
hash['key'] = value unless hash['key']
が冗長なんで
hash['key'] ||= value
なんて書きたくなる気持ちは分かるけど……。
0157デフォルトの名無しさん
NGNGmatzがLarryについて尊敬する点ってのはここなんだろう
0158122
NGNGたいがい亀だが
Firefoxはマイナーってことでせうか。
# Firefox0.9.2(Japanese,Windows)では見れてまつ。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNGa+=1
0161デフォルトの名無しさん
NGNGそういえば結城さんもクリスチャンだよな。
0162デフォルトの名無しさん
NGNGそして「なんで Fixnum#++ がないの?」と話はループ・・・
0163デフォルトの名無しさん
NGNGclass A < CC
@@foo = 'hoge'
class B < DD
def hoge
ここで@@fooを読み書きしたい
end
end
end
の場合どうしたらいい?
0164デフォルトの名無しさん
NGNGclass A で @@foo のアクセスメソッドを定義してやれば?
0165デフォルトの名無しさん
NGNGプロテスタント(結城)とモルモン(まつもと)だもんな。
ヤバイよな。
0166デフォルトの名無しさん
NGNGString#replace(other) を置き換える方が怖くない?
0167デフォルトの名無しさん
NGNGあわわわ、確かに。 (元々の String#replace の存在をすっかり忘れてた・・・)
0168163
NGNGなるほど。できました。
やってみて思ったんだけど変数のようにデータを出し入れできるオブジェクトって作れなかったっけ?
Aの下にそのようなクラスが定義してB::hogeないでオブジェクトを生成すればデータの出し入れが
便利になりそうだと思ったんだけど…
連続で質問すまん
0169デフォルトの名無しさん
NGNGhttp://www.pragmaticprogrammer.com/titles/ruby/index.html
PDF版安いなぁ……
0170デフォルトの名無しさん
NGNGそういえば、知らないうちにメソッドを置きかえてたというのを防止することってできるの?
0171デフォルトの名無しさん
NGNGmoduleで囲ってmoduleごとfreezeかねぇ
module B
def self.teste; p 'test' end
end
module B
def self.teste; p 'test2' end
end #=>can't modify frozen object (TypeError)
0172デフォルトの名無しさん
NGNGmodule B
def self.teste; p 'test' end
end
B.freeze
module B
def self.teste; p 'test2' end
end #=>can't modify frozen object (TypeError)
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG-e:1: warning: method redefined; discarding old replace
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNGグローバル変数的な使い方を良くするよ。
0177デフォルトの名無しさん
NGNG「次のようにすると core を吐きます。」
0178デフォルトの名無しさん
NGNGそんなに大したもんじゃないつーか
泡沫Rubyistの俺でも数回でたことある。
仕事で普通に使ってたら出て支障きたした。
むしろBug出すぎw
ただ頑張って直してパッチ書いて
取り込んでもらった時は嬉しかった。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNGDir.chdir だとスクリプト内でしかディレクトリ変更が効きません。
% pwd
/home/ruby
% ruby -e'Dir.chdir("/home")'
% pwd
/home/ruby
動作としては、こんな感じにしたいのですが。
% pwd
/home/ruby
% cd.rb /home
% pwd
/home
なにか方法はあるのでしょうか?
0183デフォルトの名無しさん
NGNGそれはRuby云々ではなくUNIX FAQ。
結論だけ言うと「普通は無理」。
まともな方法では親プロセスには影響できない。
0184デフォルトの名無しさん
NGNGカレントディレクトリというのはプロセスごとに持っている情報。
子プロセスが作られるときには親プロセスのを引き継ぐけど、
子プロセスから親プロセスのそれは変更できない。
0185182
NGNGなるほど。ありがとうございました。
じゃあ、 Rubyスクリプトの出力を受け取って
cd を実行するようなシェルスクリプトをつくって
% . hoge.sh
としてカレントシェル内で実行する、って方法か
alias hoge='. hoge.sh'
にしておくとか。
0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNGruby-listの読書会のはともかく、首藤プラネットは良いと思う。
リンク先見るかどうか、寸評のおかげで決められるし。
0191デフォルトの名無しさん
NGNG日本人にはめずらしく行動力だけはズバ抜けていて、そこはマジで尊敬するけど…
あ れ は P l a n e t と は 言 わ な い よ な 。
むしろ、ruby-talk便りとかそっちの方が正確だろうな。
あるいはRuby Watchとか。
0192デフォルトの名無しさん
NGNG画像の動的な書き換え方がわからなくて…
何かイベントがあったときに表示されている画像を書き換えたいんだけど
Image書き換えてサーフィスに変換してbitbltで転送しても画面が書き換わってくれない。
いったん別のウインドウで隠して再度アクティブにすれば書き換わってくれるのだが…_| ̄|○
0193デフォルトの名無しさん
NGNGソースを読んでドキュメントとチュートリアルとサンプルと
その他雑多な資料を作成してください。
あなたがやらない限り未来永劫ないままです。
0194デフォルトの名無しさん
NGNGwxRubyそのもののドキュメントはあまりない。wxWidgetsのドキュメントも
見た方がいいと思う。わからないことあったら↓で質問すれば。
【GUIライブラリ】wxWindowsでのひょーん
http://pc5.2ch.net/test/read.cgi/tech/1052186697/
>>193
ヤレヤレ厨うざい。
0195デフォルトの名無しさん
NGNGあれを行動力というのか?まあそうかもしれんけど。
Moonwolfの行動力って、るびきちのそれと似てるんだよね。
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNGttp://dontstopmusic.no-ip.org/diary/20040914.html#c05
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNGhttp://blade.nagaokaut.ac.jp/ruby/ruby-dev/24201-24400.shtml#latest
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG> あれを行動力というのか?まあそうかもしれんけど。
> Moonwolfの行動力って、るびきちのそれと似てるんだよね。
うーん、本人には失礼かもしれないけど、同意してしまう。
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNG金光さん
0208192
NGNGwxRuby使うと激しくRubyらしからぬコードになるような気がするのは気のせいか…?(´・ω・`)
0209デフォルトの名無しさん
NGNG>やっぱrubyはまだベータレベルだな(w
だからハックのやり甲斐があるんじゃない?御輿に乗るだけが能じゃないでしょ?
0210デフォルトの名無しさん
NGNGローカルにテキストファイルとして保存するようなプログラムを書きたいのですが,
どのような方法が良いでしょうか?
URLとかスレッドごとに変わってしまうので,その辺がややこしくて...
0211デフォルトの名無しさん
NGNG巡回スレ全てに更新チェックを行い
更新されているスレのデータを差分取得。
1000でスレが止まったら巡回スレからはずす。
0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNG何を考えてるのかわからん。
0214210
NGNG返信ありがとうございます.
巡回してるスレッドが1000に到達したら,新しいスレッドを自動的に巡回
できるようにしたいのですが,その部分はやはり手動でやらなくては
ならないでしょうか?
0215デフォルトの名無しさん
NGNGちょっと考えればわかるだろ
0216デフォルトの名無しさん
NGNG2chには次スレを明示するシステムがないから無理
次スレ
http://pc5.2ch.net/test/read.cgi/tech/1095479831/
とかってパターンを検出して飛ばせばいいけど
そこが正しいとは限らないし。
>>215
お前は失せろ
0217デフォルトの名無しさん
NGNGアホなこと言ってたらゴメソ
0218デフォルトの名無しさん
NGNGただ、設定ファイルを簡潔にして管理しやすくすれば、鯖の移動くらいは設定
ファイルを置換一発で可能というくらいにはできるはず。鯖の移動なんてそん
な頻繁には起きないし、それでいいんでは?
次スレの検出は、自分もラスト30くらいのレスからパターン検出くらいしか思
いつかないな。
0219デフォルトの名無しさん
NGNG2chブラウザはスレ一覧更新すると移転追いかけるから、
板移転時はスレ一覧(subject.txt)を取りにいくと30xと移転先のLocationを返されるんだと思う
Rubyマニュアルのnet/httpのところにリダイレクトへの対応について載ってるよ
0220デフォルトの名無しさん
NGNGttp://www.monazilla.org/
0221デフォルトの名無しさん
NGNGコードが置いてあるディレクトリ以外からスクリプトを実行したときも
コードが置いてあるディレクトリと同じ所にあるファイルをrequireとかしたいんだけど…
0222デフォルトの名無しさん
NGNG一応 __FILE__ つうのもあるけど、起動スクリプトからの相対パスみたいだね。
絶対パスを取るにはどうすりゃいいのかね?
0223sai10sight ◆m7YeytgDFE
NGNGhttp://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%C1%C8%A4%DF%B9%FE%A4%DF%CA%D1%BF%F4
0224デフォルトの名無しさん
NGNGサンクス。__FILE__から取得したパスを加工すれば何とかなりそうです。
mswin32なせいかコードが置いてある場所とは違うところからコードを実行すると
絶対パスが返ってくるようです。
>絶対パスを取るにはどうすりゃいいのかね?
File.expand_path(__FILE__)
はどう?
0225デフォルトの名無しさん
NGNGダメでした @ mswin32 1.8.1
>224
>File.expand_path(__FILE__)
「カレントを移動していない」という前提が必要ですな。
p File.expand_path(__FILE__) # => D:/.../test_testfield.rb"
FileUtils.cd( "lib" )
p File.expand_path(__FILE__) # => D:/.../lib/test_testfield.rb"
#...は省略部分
といった感じ。
0226shige
NGNG0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNGパスの途中の予約語の出現禁止とか、
ショートとロングとか、
全体の長さとか、
いろいろまんどくさそだ。
0229デフォルトの名無しさん
NGNG躁期に入っているだけにも見える。
もしそうなら、鬱期に入った途端に全てのプロジェクトが中断してしまうわけで、
うかつに氏のやってることに賛同できない。
せめて複数人でプロジェクトを立ち上げてくれればいいんだが、他人の協力は
拒んでいるようだし。
0230デフォルトの名無しさん
NGNGそのまんま Bash で押し通すことがあるんや。
Ruby で書き直すのが難儀な部分。
(1) getopts と case を GetoptLong に書き直すこと。
全体的な構造の書き直しと、GetoptLong::REQUIRED_ARGUMENT 等の定数が難儀。
(2) -d, -w やらなんやらファイルテスト演算子を、
FileTest.directory?(), FileTest.writable?() に書き直すこと。
# _d, _w で代替したいちうわけや。
(3) -nt, -ot やらなんやらファイルテスト演算子相当メソッド。
FileTest.newer?(file1, file2), FileTest.older?(file1, file2)
0231デフォルトの名無しさん
NGNG集約してくれるとすごく欲しい。
0232230
NGNG$ cat sample.sh
#!/usr/bin/bash
while getopts a:b:cde Opt; do
case "$Opt" in
a ) echo "a has $OPTARG";;
b ) echo "b has $OPTARG";;
c|d|e) echo "$Opt specified.";;
* ) exit 1;;
esac
done
[ $OPTIND -gt 1 ] && shift $((OPTIND-1))
[ -d "dir" ] && echo "dir"
[ "a.txt" -nt "b.txt" ] && echo "a.txt is newer than b.txt"
echo "end of the script.";
exit 0
-- end --
Bash から Ruby へ書き直しの指針みたいなものおまへんか。
require 'bash' とかすると、楽になるライブラリーおまへんか。
"option requires an argument -- b"
"illegal option -- x"
とかも自動で出て欲しい。
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG0235230
NGNG基本的なことやけど、var=~/bin を Ruby ではどう書くのかとか。
ワテは、Bash から離れたいとは思いまへん。
Ruby で OO しようとも思いまへん。
ただ、ちーとばかし難儀になりよったとき助けてくれればええのや。
それなのに Ruby ときたら・・・
ワテが楽できなければ、サーバーの Ruby ライブラリ更新するつもりはない。
いちいち、ドキュメント読まなければならへんし。
おっちゃんは忙しいや、調べさせるな。
# Ruby 自体は気に入っとる。
0236デフォルトの名無しさん
NGNGそりゃ単にニーズが無いからでしょ。
0237デフォルトの名無しさん
NGNG文字列処理がマンドクセとこだけ、インラインでRubyスクリプト書いて
``で結果取ったら如何か。
0238デフォルトの名無しさん
NGNGBash と Ruby はターゲットが微妙に違うんだと思うけど。
シェルスクリプトで楽なところは、シェルスクリプトでやればいいし。
面倒なとこ(正規表現とか)だけワンライナーで Ruby に渡せばそれでいいんじゃ
ないかな、と思います。
というのが元の「そのまま Bash で押し通す」って意味? 無理して Ruby に
する必要はないと思う。
書いてあることは、やろうと思えばそんなに難しいことではないでしょう。た
とえば、def _d(v); FileTest.directory?(v); end のようなものを全部自作
しておくとか。一度作っておけば、あとは使い回せるしね。
0239デフォルトの名無しさん
NGNGと、思った。
0240デフォルトの名無しさん
NGNG# もれはこないだWikiにちょっと貢献したぞ
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGたとえば、Cの関数の第1引数の一覧を抜き出そうとして、/\w+\(([^)]+)[,)]/
と書くと $1 には第1引数が入りますが、
foo((x+y)+z)
と書くと、"(x+y"までしか入りません。
正規表現では無理!racc 使えって言われるような感じもするんですが、
racc だとCの文法全部 .y ファイルに書かないといけないので、
正規表現ですませられないかなぁ・・・と思ってるんです。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG端的に言うと正規表現「だけ」で書くのは無理。文脈自由文法の世界だから。
ただ、 Perl では正規表現を独自拡張して、こういうのに対応しているね。
とはいえ、 racc/yacc を使えというのはさすがに大仰すぎると思う。
対処法1:
入れ子の数の限度が決まっているなら、その数まで対応するように書くことは
できる。たとえばその例題なら、/\w+\((.*?(\(.*?\))?.*?)\)/ とかね。
対処法2:
関数を自分で書く。開きカッコが来たら自分自身を呼んで、閉じカッコが来た
らそれまでスキャンした内容を返す関数を書くだけだから、簡単だと思う。
StringScanner とかあるし。
どうせ racc とかは、BNF(みたいなやつ)から関数を自動生成するためのプロ
グラムに過ぎないから、たいした手間じゃなきゃ自分で書く方が楽な場合もあ
る。
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGRubyはシェルスクリプトの代替に向いていないです。
Getopt::Stdやファイルテスト演算子もある Perl で良いと思う。
CPANもあるし、perldocもあるので調べる苦労が少ない。
0250デフォルトの名無しさん
NGNGRubyはプログラミングには向いていないです。
0251デフォルトの名無しさん
NGNG>Perl では正規表現を独自拡張して
そうなんですか?おもしろそうですね。調べてみます。
対処法1だと、ちょっと汎用性におとるので、対処法2で
検討してみたいと思います。scan とか遅いんだろうなぁと
思ってましたが、StringScanner なんてのが
あるんですね。勉強になりました。
0252デフォルトの名無しさん
NGNGi = 0xFFFFFFa8 #=>-88
i = 88 #=>88
0253デフォルトの名無しさん
NGNG粘着乙
0254デフォルトの名無しさん
NGNG載っているサンプルコードのライセンスってどうなっているんだ?
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=%C7%DB%C9%DB%BE%F2%B7%EF
を見ても、コード自体の扱いについては書いていないみたいだし…
0255デフォルトの名無しさん
NGNGコード自体も同じ条件じゃないの?
0256デフォルトの名無しさん
NGNG何がしたいのかわからないので、もっと詳しく。
とりあえず
i = 0xFFFFFFa8 #=> 4294967208
だよ。
0257252
NGNGスマン
符号の向きと絶対値が欲しい。
一応、
i = 0xFFFFFFa8
if i > 0x7FFFFFFF then
i = 0xFFFFFFFF - biHeight + 1
sign = 'minus'
else
sign= 'plus'
end
とかやれば実現できるけどイマイチスマートじゃないので…
0258デフォルトの名無しさん
NGNGさっぱり言ってる意味わかんねー。
[0xffffffa8].pack("I").unpack("i")[0]
0259258
NGNG絶対値は Numeric#abs で取れるからいいとして、
符号の方は、直球だけどこんな感じかなあ。
class Numeric
def sign
(self > 0) ? :plus : ((self < 0) ? :minus : :zero)
end
end
これで >>252 の答えになってるか全く自信ないけど。
0260デフォルトの名無しさん
NGNG「Rubyシェルプログラミング -irb&irbsh徹底活用-」
という本の話題が、全く出ないことにワラタ。
0261デフォルトの名無しさん
NGNGi = 0xFFFFFFa8
i.class # => Bignum
Ruby で普通にやってるかぎり、一番上のビットが立っちゃって負数になるこ
とはないよ。 >>258 みたいな例はあるか。
>>260 irbsh ってスクリプト書けるの?
0262デフォルトの名無しさん
NGNGRubyで挫折って、わかる気がするなあ。
ずっと意味不明なバージョンアップ追ってたら頭おかしくなりそうだし、
何を作ってもとろい速度のスクリプト眺めてると鬱になりそうじゃん?
かといって思想のまるでない開発ML覗いても、PerlとPythonの猿真似しか話題ないし、
こんなの与えても娯楽を常に要求する一般人は見向きもしない。
そもそもUNIXでしか見掛けない、哀れな言語、というのが一般人の見解だし。
そうそう、最近CVSあぼーんで言語の信用かなり悪くしたよね。
この事件でRubyはビジネスで成功できないことがまた証明されてしまったわけだ。
昔からRubyは関係者同士で常に足を引っ張って成長しない。
お金の匂いしないよね。全然。
そんな言語だから、挫折が常態であるのは必然なんだと思う。
0263デフォルトの名無しさん
NGNG『Ruby-DBウェブデザイン』
http://www.cqpub.co.jp/hanbai/books/18/18681.htm
すいません、他薦ですが。
0264デフォルトの名無しさん
NGNG>>253
0265デフォルトの名無しさん
NGNGRuby使いって貶されると、
すぐ言葉少なになるよね。
もう貶されるのに慣れちゃった?
ちょっと、心をおちつけて。
Rubyを知らなかったあの頃を思い出してごらん。
あの頃の君達は希望に満ち溢れていたよね。
そう、今まで君達は、とっても悪い夢を見ていたんだ。
Rubyなんか捨てて、あの頃見ていた希望を取り戻そうよ!
0266デフォルトの名無しさん
NGNGじゃあ -1 を16進表現にしたらどうなるかと思ったら、
irb(main):001:0> "%x"%-1
=> "..f"
fが無限に続いてるってことか?
0267デフォルトの名無しさん
NGNGいや、>>245はまともな意見いってるとおもうけどな
0268デフォルトの名無しさん
NGNGそれは失礼。では以下のように訂正
>>250=>>262=>>265
粘着乙
0269デフォルトの名無しさん
NGNGRuby ユーザには厨が多いというが、
こういう変な粘着も多いな。
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNGだね。
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=sprintf%A5%D5%A5%A9%A1%BC%A5%DE%A5%C3%A5%C8#x
0272デフォルトの名無しさん
NGNG>265
>Rubyを知らなかったあの頃を思い出してごらん。
あまり変わらないなぁ。
Rubyを知らなかったころは……DelphiでプロパティLove/C++でTemplate Loveだったしなぁ
>267
気でも狂ったか?
>270
そんなこと書いているヒマあったらコード&ドキュメント書け。
0273デフォルトの名無しさん
NGNGmatzの脳内
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNG0276デフォルトの名無しさん
NGNGそのまま来んでください。
0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGDebian教の信者になっていました。
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNGお前ら態度悪すぎだよ。しかも個々のレスの質が低い。
ネットワークトラフィックを浪費することを自覚して反省しろ。
0281デフォルトの名無しさん
NGNGことは否定できない。間違っていたのは>>280の方だ。あやまれ。
0282デフォルトの名無しさん
NGNG0283の
NGNGhttp://www.fiercewinds.net/programming/Ruby/ProgrammingRuby-0.4/Readme.html
ヤッテラレマセン。誰か助けて(除くプログラミングRuby読んだことのある人)
"Classes, Objects, and Variables"は1月後ぐらいかな……チュートリアル終了するの
いつになるかなぁ……
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNG>>283
わたしはなにもできないんですけれど、
完成を期待してます。
がんばってください!
# 声援だけならだれでもできるって...とほほ。
0286デフォルトの名無しさん
NGNG乙
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG>>229 の予言が早くも的中したわけだが。
0289の
NGNGwikiベースも考えたけど、日本語版の存在がなぁ……
アレはOPLじゃなさそうだから、翻訳に混在すると不味いです。
誰が翻訳したかわかるようにしないとね。一応
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG「反応少なすぎ」って、どんな反応があるもんだと期待してたんですかね。
0292デフォルトの名無しさん
NGNGなんかRubyと相性いいかも。
0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNG大きな変更点である、TreeView周りのマヌアルが欠けてる……
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG他のGUIツールキットはどんな感じですか?
0297デフォルトの名無しさん
NGNGTkってかなりでかくない?
インストールもコピーして終わりってわけにもいかないし
0298デフォルトの名無しさん
NGNGでも世間ではTcl捨ててる実装の方が少数派なんだよな。
0299デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNGうーん、こんな感じかなー。
filename = 'hoge.txt'
str = File.open('hoge.txt') { |f| f.read }
name = 'upfile'
cont_type = "text/html"
boundary = 'foooobarrrbazzz'
### データ
data = <<END
--#{boundary}
Content-Disposition: form-data; name="#{name}"; filename="#{filename}"
Content-Type: #{cont_type}
#{str}
--#{boundary}--
END
### ヘッダー
header = {
'Content-Length' => data.length.to_s,
'Content-Type' => "multipart/form-data; boundary=#{boundary}",
}
require 'net/http'
http = Net::HTTP.new('192.168.0.1', 80)
resp_header, resp_body = http.post('/cgi-bin/hoge.cgi', data, header)
もうちょっとでうまくいきそう。でもわからん。
0302デフォルトの名無しさん
NGNG>>505
"\r" をいれたらうまくいった。
### データ
data = <<END
--#{boundary}\r
Content-Disposition: form-data; name="#{name}"; filename="#{filename}"\r
Content-Type: #{cont_type}\r
\r
#{str}
\r
--#{boundary}--\r
END
0303デフォルトの名無しさん
NGNG↓
0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNG浴びるほど酒を飲む。
0306デフォルトの名無しさん
NGNGありがとうございます。
参考になりました。
0307デフォルトの名無しさん
NGNG内臓まで吐いたらあ〜るになってしまう。
0308デフォルトの名無しさん
NGNG0310308
NGNGthx.
それ読んだ上でもちっと速い方法はなにかないかなと…
無茶言ってスマソ
ある程度でかいデータを処理しようとするとちょっとの差がもろに
実行時間に響くんだよな…_| ̄|○
0311デフォルトの名無しさん
NGNGこれ言ったらおしまいかもだけど
それならC/C++で書いた方が……
0312308
NGNGやっぱそうか…C/C++でやれば一瞬で終わることはわかっているんだけど
複数のプラットフォームで動かすことを考えているのでC/C++の使用はちょっと難しかったり…
とりあえず地道に詰めてみるよ…
nByteごとに分割処理って配列にしてからeachするよりもwhileとString#self[nth, len]の
方がかなり速いのね…
0313デフォルトの名無しさん
NGNG速度が要求される部分だけC/C++で拡張モジュール書くというのはダメ?
というか移植性で問題になるところって何かあるの?
0314デフォルトの名無しさん
NGNGプラットフォームはなに?
Cygwinだったらmswinに変更するだけで随分違うよ
0315デフォルトの名無しさん
NGNGwindows上で開発したいんですけど
方法ありますか?
0316デフォルトの名無しさん
NGNGこれ使えているだれかいる?
0317308
NGNG独自にRuby以外で拡張モジュールを作ってしまうと実行する側で
拡張モジュールのコンパイルを求めることになってしまうから…
配布用のスクリプトなのでできればRubyのみにしたいんです。
>>314
mswinです。
0318デフォルトの名無しさん
NGNG$ /usr/bin/time ruby168 -e 's = "" ; 1000000.times{s.concat("a")}'
1.41 real 1.26 user 0.12 sys
$ /usr/bin/time ruby181 -e 's = "" ; 1000000.times{s.concat("a")}'
0.79 real 0.77 user 0.00 sys
0319デフォルトの名無しさん
NGNGruby 1.6.7 (2002-03-19) [i386-linux]
5.01user 0.60system 0:05.60elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (221major+397minor)pagefaults 0swaps
% /usr/bin/time ruby-1.8p2 -ve 's = ""; 1000000.times{s.concat "a"}'
ruby 1.8.2 (2004-07-29) [i686-linux]
4.27user 0.02system 0:04.29elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (228major+389minor)pagefaults 0swaps
0320デフォルトの名無しさん
NGNG(setq-default indent-tabs-mode nil) を設定しましょう。
これを設定しないと、スペースとタブが混ざってしまいます。
0321デフォルトの名無しさん
NGNG0322デフォルトの名無しさん
NGNG個人的にはもう一歩進んでPerlを使うことを推奨したい。
これによって多くの人にとって可読性・保守性が大幅に向上するからね。
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG2〜3行目に関しては、
みんな十分知った上で Ruby を使ってるんですよっ ☆
0325デフォルトの名無しさん
NGNG2行目:Rubyを戻したらPerlだよな…進ませたら何になるんだろう?
3行目:Perlより読みやすいからRuby使い出しました!
0326デフォルトの名無しさん
NGNG他のエディタで表示が崩れるなら、
個人的にはもう一歩進んでEmacsを使うことを推奨したい。
これによって多くの人にとって可読性・保守性が大幅に向上するからね。
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNGgroovy とかかね。
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGemacs なら file variable 推奨。vimにも同様の機構はありそうだ。
0331デフォルトの名無しさん
NGNG今時タブを態々8以外にちまちま指定してるわけ?
もしかしてviとかで自分でちまちまハードタブつかってインデントしてるとか?
0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNGtDiaryまわりのひと?
0336デフォルトの名無しさん
NGNGshugo さんも以前 3タブ (SPC 3 つ?) だったような。
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG連結だけならarray.joinのほうが速いかも。
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG0341292
NGNGTkってそんなインストール面倒なのかな?
うちで使ってるのは、FreeBSD と Windows だけど
FreeBSDはPorts一発で、コンパイル時間もほとんどかからなかったし、
Windowsの場合だとActiveTclとかいうのでインストールした。
インストールは確かに手軽じゃないけど、書き方が手軽ってこと。
そりゃ、ウィジェットとか少ないのかもしれないけど、
逆に全部、把握できるくらいだから、ちょうどいいかも。
それに、書く行数が少ない気がする。初心者向きかも。
感じ的には、Zope(Pyだけど)とかよりtDiaryが
使ってて気持ちいいって感じ。(うまく言えないけど)
0342デフォルトの名無しさん
NGNGただのスペースと区別が付けばいいので。
0343デフォルトの名無しさん
NGNGあまりに違いすぎて(ry
0344デフォルトの名無しさん
NGNG複数人で開発とかしたことある?
0345デフォルトの名無しさん
NGNG取るのが好きじゃないので。でも世間では4か8が多いんだろうな。
0346デフォルトの名無しさん
NGNG禿同。
プラットフォームそのものと一Webアプリを同列に比較するのは乱暴杉。
0347デフォルトの名無しさん
NGNGおれは331に同意だな。
Tab幅を8以外にする理由が分からんし、Tab幅を8にした環境が用意できない理由もわからん。
「Tabが8じゃない人が読むとインデントが崩れるからTabを使うな」っていわれたことがあるんだけど、
なんでそんな設定をしているやつのためにわざわざこっちが合わせなきゃならんのか。
思わず「じゃあTabを8にしてから読んでください」と捨て台詞をいうところだった。
Tab幅とは別に、インデント幅は2でも4でも何でもいいけど。
0348デフォルトの名無しさん
NGNG0349デフォルトの名無しさん
NGNGかなり読みやすいよ
最近長い名前扱うから特に
0350デフォルトの名無しさん
NGNG0351デフォルトの名無しさん
NGNGArrayの中に入れるオブジェクトをFixnumとか特定の型のオブジェクトに
限定することってできますか?(他のを入れようとすると例外を投げるとか)
継承して[]=とかのメソッドを全部オーバーライドすると面倒だし。
0352デフォルトの名無しさん
NGNGできない。
0353デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNGあなたがインデント幅は2でも4でもなんでもいいと思っているように、世の中には、
タブ幅は2,4,8のどれでもいいと思っている人もいるのだよ。
0356デフォルトの名無しさん
NGNG継承はしないで、つかうメソッドだけ委譲したほうがいいじゃない?
0357デフォルトの名無しさん
NGNG元々そういうもんなんだから
0358デフォルトの名無しさん
NGNGforwatable を改造して委譲先のメソッドを呼ぶときに
型チェックするようにしたら?
0359デフォルトの名無しさん
NGNGソースコード整形ツールって何かあります?
0360デフォルトの名無しさん
NGNGたいていの場合は必要なメソッドだけ定義するのがいいと思うぞ。
数値とそれ以外みたいな分け方なら NArray というのもある。
0361デフォルトの名無しさん
NGNGそれとも気分の問題?
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNG型を限定すると Array の強みが失われるんだし。
もし型を限定したいならそういうクラスを作ればいいだけかと。
0364デフォルトの名無しさん
NGNGはーい、質問です。
・「タブ幅は2,4,8のどれでもいい」なら、8でもいいわけだよね?なぜわざわざ2や4に設定するの?
・「タブ幅は2,4,8のどれでもいい」といいながら、なぜ他人にはタブじゃなくてスペースを使ってインデントするよう言ってくるの?どれでもいいなら、気にしないでいいじゃん。
純粋にね、タブ幅を8以外に設定する理由がほんとにわからないの。355のような「8でなくてもいい」というのが理由とは思えない。
0365デフォルトの名無しさん
NGNG0366デフォルトの名無しさん
NGNGArrayは汎用目的で作られているから、型チェックの機構を盛り込まなかったんじゃない?
それに、
・オブジェクトが指定したメッセージを受け付ける
・メッセージを渡した後に、正しい結果を返す
だったら、オブジェクトを渡される側はオブジェクトの中身を気にする必要ないし。
まあ、やるんだったらAdapter パターンでも使って型チェックを追加かねぇ
0367デフォルトの名無しさん
NGNGアスペクト指向じゃ無理なのかね
特異アスペクトなんてあるのか知らんけど
0368デフォルトの名無しさん
NGNG>「タブ幅は2,4,8のどれでもいい」なら、8でもいいわけだよね?なぜわざわざ2や4に設定するの?
プログラムじゃない文章とか読む/書くときに便利だからです。
Outlook Expressとかタブ幅4だしね。
#Winは4が一般的じゃない?
・「タブ幅は2,4,8のどれでもいい」といいながら、〜〜
インデントするときにTab+Spaceで行いやがるクソエディタが存在するからです。
Emacsなんかもそうですな。
それに、↑の話にも関連するけど、Outlook Express使うようなユーザーに
「タブ幅8文字にしてくれ」というよりも、プログラマに「スペース使ってくれ」と
言ったほうが納得してもらいやすいから。
0369デフォルトの名無しさん
NGNG他にスレ立ててやってほしい.
0370デフォルトの名無しさん
NGNG> Outlook Expressとかタブ幅4だしね。
> #Winは4が一般的じゃない?
これは「タブ幅は2,4,8のどれでもいい」ってのと矛盾してるね。
> インデントするときにTab+Spaceで行いやがるクソエディタが存在するからです。
> Emacsなんかもそうですな。
タブ幅とインデント幅をごっちゃにして考えてるね。
0371デフォルトの名無しさん
NGNGなぜここでOutlookがでてくるのかわからん。Outlookでプログラム書くわけじゃないだろ。
>#Winは4が一般的じゃない?
メモ帳でもタブは8だろ。
>プログラムじゃない文章とか読む/書くときに便利だから
じゃあプログラムとそれ以外で設定を自動的にかえるようにすればいいじゃん。
モードごとにタブ幅を設定するなんて簡単だろ。
その程度のことを自分でやらずに、他人に設定を強要するのはいかがなものか。
ていうか、ほんとにこんなことが理由なのか?もっと説得力のある理由はないのか?
0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNGせっかくripperが入ったんだから、誰か作って
0374デフォルトの名無しさん
NGNGタブでインデントするならタブだけを使い、
タブとスペースを混ぜるな、ということ。
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNGえ、るbyて整形ツールみたいなのないの?
るbyスクリプトで書けないの?
ちょっと、かっこわるいですよ?
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNGとりあえず名前はRemacsでいい?
0379デフォルトの名無しさん
NGNG0380368
NGNGホントの理由は >374 だね。
インデントについてはエディタごとに挙動が異なるので、やりづらいったらありゃしない。
最近はタブ文字をスペース8コに置き換えてからハクるけどな。
Emacs(のデフォルト)はほんとにクソですな。そのくせGNUコーディング規約のインデントは
8文字じゃなかったりするし……
>じゃあプログラムとそれ以外で設定を自動的にかえるようにすればいいじゃん。
全てのエディタでファイル種類ごとにインデントとか設定できる訳じゃ無いんでな。
0381デフォルトの名無しさん
NGNGそれはそれで面白そうだけど、整形ツールって言ったら普通はC/C++で
言うところのGNU indentとかastyleのようなものを指すと思う。
0382デフォルトの名無しさん
NGNGお前も普通に糞だな
0383デフォルトの名無しさん
NGNG本人からして変態エディタ愛好家だからそれも無理なんだよな。不幸なことに。
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGコーディング規約ならあるよ。matzさんじゃないけど。
http://shugo.net/ruby-codeconv/codeconv.html
0386デフォルトの名無しさん
NGNGすげー使い易くなった
0387デフォルトの名無しさん
NGNG作者以外が決めたものなんてなんの価値なんてないだろ
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNG>全てのエディタでファイル種類ごとにインデントとか設定できる訳じゃ無いんでな。
おいおい、素人ユーザーじゃあるまいし、プログラマがそんなこというかね。
プログラマなら「ファイル種類ごとにインデントとか設定」できるエディタを使うべきだろ。
この言い訳を聞いていると、「エディタがないとインデントできないからLispやSchemeは使わない」とか
「すべてのブラウザで使えるわけじゃないからCSSは使わない」というのと同じだな。
0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNG0392368
NGNG>おいおい、素人ユーザーじゃあるまいし、プログラマがそんなこというかね。
( ゜Д゜)
素人はRuby使うな……と。ふうン。
じゃあ逆に聞いてみるけど、タブ文字を使うメリットって何?
特に(スペースと混在させてまで)使うメリットは無いと思うんだけど。
「Emacsのデフォルトだから」っつうのはなしよ。
それに、いくつかのコーディングスタイルじゃ「タブを使うな」つうてるのにね
ttp://website-beta.mozilla.or.jp/hacking/mozilla-style-guide.html
http://community.borland.com/article/0,1410,10280,00.html
> 374の言う通り、タブだけ/スペースだけつうのならオレもOKよ
FreeBSDのコーディングスタイルもも、タブ(だけ)でインデントするみたいだし。
ttp://www.freebsd.org/cgi/man.cgi?query=style&apropos=0&sektion=0&manpath=FreeBSD+4.8-RELEASE&format=html
0393368
NGNG確かにそれなら「タブ幅を8文字にしているやつは気でも狂っているんじゃない?」て
言っても別に害は無いわな。
0394368
NGNG×タブ幅を8文字にしているやつは
○タブ幅を8文字にしていないやつは
0395デフォルトの名無しさん
NGNGくだらない字面で自己主張するのが好きなんでしょ。
なんでもばらばらで非効率的なのが好きなんでしょ。
わけのわかんない理屈こねて正当化する必要はないんだよ。
0396デフォルトの名無しさん
NGNGあなたといっしょにしないでください。
0397デフォルトの名無しさん
NGNG世間にでてこねーな、ようするに使い物に
ならんということだ
www.onitama.tv/product.html
にあるHSP製の有料ソフトみたいな
ハイレベルなのはひとつもない
0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNGホントにHSPで書いているのかな?プログラムのほとんどがDLLだったりして……
C++ & 適当なフレームワークの方がいいと思うんだけど
0401デフォルトの名無しさん
NGNG次世代言語としてHSPがLiveDoorに買収されることになったんだよ。
0402デフォルトの名無しさん
NGNG既にRubyスレ住人はHSPについて十分な知識があり即レス可能であったため、
TAB幅にはHSPよりも多くの利点があるにも関わらず、
RubyスレはHSPを燃料として使いつづけた。
これは、PerlとRubyの関係にも当てはまる。
デファクトスタンダードのものと置き換わるには、かなり大きな利点が無ければいけない。
なぜなら、デファクトスタンダードであることは、とても大きな利点であるからだ。
0403デフォルトの名無しさん
NGNG妻蘭
0404デフォルトの名無しさん
NGNG過去のHSPスレにコミケで入手した奴のレスがあったが、
特製DLLを少し使ってるそうだ。
おにたま氏の方がまつもと氏よりもハッカーとしての才能が
あるんだろうが、なにせヲタだからな〜。
0405デフォルトの名無しさん
NGNGRubyヤバイ。
まず遅い。もう遅いなんてもんじゃない。超遅い。
遅いとかっても
「VBと同じくらい?」
とか、もう、そういうレベルじゃない。
何しろダイナミック。スゲェ!なんかコンパイラとか無いの。最適化とかJITとかを超越してる。動的だし超遅い。
しかもモジュールはC言語で作るらしい。ヤバイよ、C言語だよ。
だって普通は言語自身で作成するじゃん。だって自分の書いたソースがそのままモジュールにならなかったら困るじゃん。いまどきC言語でデバッグとか困るっしょ。
書いたソースが増えてって、まとまった機能を抽出できそうなのに、モジュール化するために1からC言語に書き換えるとか泣くっしょ。
だから他の言語は自身で作成できる。話のわかるヤツだ。
けどRubyはヤバイ。そんなの気にしない。C言語頼りまくり。Ruby使ってるんだかC言語使ってるんだかよくわかんないくらい二刀流。ヤバすぎ。
モジュールはC言語で作るっていたけど、もしかしたらPerlでプリプロセスするかもしんない。でもPerlって事にすると
「じゃあ、Ruby使ってる意味ってナニよ?」
って事になるし、それは誰もわからない。ヤバイ。誰にも分からないなんて凄すぎる。
あと超寒い。HSPと競ってる。タブ幅で言うと8。ヤバイ。寒すぎ。バナナで釘打つ暇もなく死ぬ。怖い。
それに超役立たずで何もできない。案件超ガラガラ。それに超のんびり。ロハとか平気で出てくる。ロハて。小学生でも言わねぇよ、最近。
なんつってもRubyは電波が凄い。荒らしとか平気だし。
うちらなんて電波とかたかだかMLで出てきただけで上手く扱えないからアクセス規制したり、放置してみたり、検閲削除したりするのに、
Rubyは全然平気。電波を電波のまま扱ってる。凄い。ヤバイ。
とにかく貴様ら、Rubyのヤバさをもっと知るべきだと思います。
そんなヤバイRubyスレに書き込んでる俺とか超偉い。もっとがんばれ。超がんばれ
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG0409デフォルトの名無しさん
NGNG>何しろダイナミック。スゲェ!なんかコンパイラとか無いの。
動的<->静的 のどっちに比重を置くか、だよね。
Rubyの場合は極端に動的にしちまっているから、その代償としてコンパイラとか
最適化が死ぬほど難しいんだけど。
ただ、遅さの大部分がGCのせいらしいから、世代別GCとか参照カウンタGCとかに
すればある程度は良くなると思うけどね……
>モジュールはC言語
拡張モジュールのこと?普通のモジュール(Module, Class)はRubyで書けるけど……
>荒らしとか平気だし
まあねぇ。
>俺とか超偉い
でもさ、もうちょっと情報の精度と密度を上げようよ。
0410デフォルトの名無しさん
NGNGRPGツクールが使っているんじゃなかったっけ?
それと、俺は業務で ruby を使ってプログラムを作り、客先に納入しているよ。
(一部Cを使っているけど)
0411デフォルトの名無しさん
NGNGそんな、テンプレレスにマジレスせんでも・・・
0412デフォルトの名無しさん
NGNG> >371
> ホントの理由は >374 だね。
なら、最初から論点をそこに絞って主張しなよ。わかりにくいなぁ。
わざと煽ってるんだろうけどさ。
まあ、気持ちは良くわかったので、少なくとも今後俺が書くスクリプトは
タブとスペースを混在させないように気をつけるよ。
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG(印税や講演料の類を除いた上での話)
0415デフォルトの名無しさん
NGNG> 素人はRuby使うな……と。ふうン。
どうやったらそんな解釈が・・・それは曲解だろ。
それにわざわざタブ幅を独自に設定するやつが素人とも思えんし、素人のことを考えるならなおさらタブ幅は変えないほうがよくないか。
> じゃあ逆に聞いてみるけど、タブ文字を使うメリットって何?
ファイルサイズが小さくなるから。Javaのようにコンパイルする言語だと意味ないけど、インタプリタはスクリプトを毎回読み込む必要があるから、スクリプトはなるべく小さくしたい。効果は気持ち程度だろうけど、特にCGIはね。
つうかね、そんなことを聞くまえに、タブ幅を変更するメリットって何よ?「Outlookが4に設定してあるから」が本当に理由なのか?
ちゃんとした理由があればタブ幅が8じゃない環境も考慮するけど、その理由がぜんぜん明確に説明されなくて、ただ単にタブを使うなといわれるだけじゃ納得できねいだろ。
>>393
> ……解った!!>389 は他人にコードを見られる前提でプログラムしていないな。
話ずれてる。今はなぜタブ幅を変更するのか、変更することにどんなメリットがあるかを問題にしている。
タブ幅を変えるやつこそ、他人のコードを読むことを前提にしてない、といえないか。
「タブが8じゃない人のことを考えてプログラム書け」といわれるのは、「メモ帳しか使えない人のことを考えて文字コードはSJIS、改行は\r\nで書け」といわれるぐらい意味わからん。
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNGこっちで。
0418デフォルトの名無しさん
NGNG・インデントはタブ文字オンリー。
・タブ文字の表示幅は自分の好きな値にする。
→同じコードが各人の好みどおりに表示されて(゚д゚)ウマー
という意見に納得したので、オレはそうしている。ちなみにオレの表示幅は2。
……だけど、長い行を途中で折り返した時
func( foo, bar,
baz ) # ←この行のインデント
の見た目をキレイにするには、上のやり方だと無理なんだよなあ。
0419デフォルトの名無しさん
NGNG>ファイルサイズが小さくなるから。Javaのようにコンパイルする言語だと
>意味ないけど、インタプリタはスクリプトを毎回読み込む必要があるから、
>スクリプトはなるべく小さくしたい。
いまどきこんなの気にしてる奴なんているのか?
まあ415がいるわけだが(w
つーか逆を言えばこんなこと気にするぐらいならRubyなんて使ってられないだろ(w
さらに言えばRubyではこんなアホな方法で速度アップするしかないのか?
コメントもおちおち書いてられないじゃないか。
まるで古代のBASICだな。
インデントにタブなんか使う人間はそろそろ引退してくれ。
0420368
NGNG>素人のことを考えるならなおさらタブ幅は変えないほうがよくないか。
素人に限らず、多くの人を相手にする場合は不確定要素(タブ)は使わないのが
ベターだと思うけどね。あるいはタブ文字しか使わないか……
>スクリプトはなるべく小さくしたい。
全然変わらないんじゃない?文字数の違いなんて全体の数ppmぐらいしか
影響しないと思うけどね。
#WinXP環境があったらtimeitで実行時間を調べられるんだけどなぁ
> つうかね、そんなことを聞くまえに、タブ幅を変更するメリットって何よ?
> 「Outlookが4に設定してあるから」が本当に理由なのか?
タブ幅8だと深過ぎない?見やすさだとタブ幅2〜4ぐらいがベターだと思う。
同じ理由でタブ幅4にしているユーザーも結構いると思うけど。
ttp://www.namikilab.tuat.ac.jp/~sasada/diary/vote.cgi?mode=show&no=11
http://pc5.2ch.net/test/read.cgi/prog/1063471069/ (Thanks >417)
#今じゃタブ幅は8のまま調整しないけどね。
#Tabキーでタブの代わりにスペースが挿入されるようになっているし。
0421デフォルトの名無しさん
NGNGemacs でも vi でもタブは8でインデントは4にしてるけど
0422デフォルトの名無しさん
NGNGシーッ。ここはそういう区別がついてないワナビー君たちを眺めて楽しむべきだよ
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNGそれ、おもしろい。長い行の折り返しでは、前の行のインデント分はタブで行って、それ以降はスペースを使って字下げすればいけるんじゃないか。
>>419
>つーか逆を言えばこんなこと気にするぐらいならRubyなんて使ってられないだろ(w
そうか?Symbol#===とSymbol#==の速度差や、return 100 とただの 100 の速度差を気にする人間がいるくらいだぞ、別にスクリプトサイズを気にしたっておかしくないだろ。
サイズをうまく小さく出来ると、読み込みを行うシステムコールの呼び出し回数を減らすことができるんだから、おれは気にする。ディスクI/Oを減らすのは高速化の基本だし、なによりロジックにまったく手を入れることなく高速化できる方法なんだから。
HTMLファイルの余計な空白を削除するツールがあるのも、おんなじ理由だろ。Googleのトップページのソースを見てみろ、改行さえ削ってるぞ。そこまでしてサイズを減らしたいってことだよ。やりすぎだとは思うが。
というかな、419も話ずれてる。「スクリプトサイズや速度は気にしない」ことと「タブ幅を8以外に設定する」こととは関係ないだろ。
>>420
>素人に限らず、多くの人を相手にする場合は不確定要素(タブ)は使わないのが
>ベターだと思うけどね。あるいはタブ文字しか使わないか……
それは「タブ文字を使わない理由」であって「タブ幅を変更する理由」ではないだろ。
また話がずれてるんだよな。わざと言ってるのか?
>全然変わらないんじゃない?文字数の違いなんて全体の数ppmぐらいしか
>影響しないと思うけどね。
「全体の数ppmぐらいしか影響しない」からといって「タブ幅を変更する」理由にはならないでしょ?
>>421
おれもそうしてる。
0426デフォルトの名無しさん
NGNG>>420
>タブ幅8だと深過ぎない?見やすさだとタブ幅2〜4ぐらいがベターだと思う。
それ、インデント幅とタブ幅とをごっちゃにしている。インデント幅は2でも4でも何でもいいよ。でもそれとタブ幅とは別問題。
0427デフォルトの名無しさん
NGNGよくわからない人は設定しておいて。
(setq-default indent-tabs-mode nil)
0428デフォルトの名無しさん
NGNGうーん、
>Symbol#===とSymbol#==の速度差や
とスクリプトの文字数が減らせるってのは議論の次元が異なると思うぞ。
Symbol方面の速度差ってのはループで如実に効いてくるが、
スクリプトの字面はパース時にしか効いてこない。
後者はまず無視できるファクターだ。
無視できない場合はevalを使ったときだが、こいつはここでの議論にはまず関係ない。
0429デフォルトの名無しさん
NGNGまぁ、コーディングによる速度チューニングを愉しみとすることもありだとは思う。
0430デフォルトの名無しさん
NGNGインデント
実行速度
・・・
ネタもコミュニティの勢いも尽きたからって宗教論争でスレ盛り上げるのやめたら?
みっともないよ
0431デフォルトの名無しさん
NGNGreturn 100 と、ただ 100 とだけ書いたのではどっちが速いの?
0432デフォルトの名無しさん
NGNGただの詐欺集団じゃん
0433デフォルトの名無しさん
NGNG自分で実験してみれ
0434デフォルトの名無しさん
NGNGSymbol#===とSymbol#==の定義はどう違うのかをまず調べようと思って
リファレンスマニュアル見に行ったけどどこに書いてあるのかさっぱり
わからなかった。これが噂の貧弱なマニュアルか...
0435デフォルトの名無しさん
NGNGhttp://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Object#self.20.3d.3d.20other
と
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Object#self.20.3d.3d.3d.20other
の違いの事じゃないのか?
0436デフォルトの名無しさん
NGNGカルチャーショック受けた。今時分こんなこと聞くなんて。
絶対一緒に仕事はしたくないね。
0437デフォルトの名無しさん
NGNGそんなあなたに refe 。
% refe Symbol#==
(中略)
% refe Symbol#===
(後略)
0438デフォルトの名無しさん
NGNG== と === は Symbol 由来のメソッドじゃないので、その上位クラス(Object)の
ページを見ないといけないみたい。
かといって、すべてのクラスの説明に継承しているメソッドもすべて書いていたら
とんでもない量になってかえって読みにくくなるだろうし。やっはり refe のような
プログラムで参照するのが良いんじゃないかなあ。
んで、本題に戻ると、Symbol#== と Symbol#=== は、結局同じもの(と読める)なので
速度差はないんじゃないの?
0439デフォルトの名無しさん
NGNGri は標準装備だろ。
0440437
NGNGFreeBSD ports の refe だと >>437 のように継承元のメソッドを探してくれないので、
refe を新しいバージョンのにしてもらえないでしょうか?> knu タン
0441デフォルトの名無しさん
NGNG(前略)
rb_define_method(rb_mKernel, "==", rb_obj_equal, 1);
(中略)
rb_define_method(rb_cSymbol, "===", rb_obj_equal, 1);
(後略)
Symbol#=== は定義されてるけど、
Symbol#== は定義されてない(ので Object#== が呼ばれる)。
一段噛ませてある分、==の方がほんの少し遅い?
メソッド探索はキャッシュされるんだっけ?
それなら速度差は最初の1回だけなんだろうけど。
$ ruby -v
ruby 1.8.1 (2003-12-25) [i686-linux]
$ time ruby -e '10_000_000.times{:foo===:foo}'
real: 7.39s(user: 7.39s, system: 0.00s)
$ time ruby -e '10_000_000.times{:foo==:foo}'
real: 7.40s(user: 7.40s, system: 0.00s)
有意な差は無さそうだ。
0442437
NGNGri は継承元のメソッドまでは表示してくれないんじゃなかったでしたっけ?
と思って試そうと思ったら、 FreeBSD ports の ruby-ri の方は BROKEN なんですね。
なんでだろ?
0443デフォルトの名無しさん
NGNG> akr さんと同レベルの人があと2,3人にたら、まつもとさんは過労死しそうな予感。
nobu氏の応援により、なんとかなりそうなふいんき。
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNG% diff ruby/parse.old.y ruby/parse.y
1199c1199
< $$ = $1
---
> $$ = $1;
0446デフォルトの名無しさん
NGNG早くも力尽きたか。
それはそれとして、いろいろ調べていたらArtima DeveloperにRuby Buzz
なるPlanetっぽいものを見つけた。
http://www.artima.com/buzz/community.jsp?forum=123
ただこれ、PerlやPythonのBuzzもあるんだけど、激しくPlanetとかぶって
いる気がするんだけど、どう使い分けているのかよくわからない。
0447デフォルトの名無しさん
NGNGわからんやっちゃ
その区別自体が無意味で有害だっつうの
0448デフォルトの名無しさん
NGNGオブジェクトのコピーに関して↓
http://ponx.s5.xrea.com/bibo/20030302.html#p01
こういうのって、頭の中がごちゃごちゃになってくる。
これってオブジェクト指向言語におこることですよね。
僕は、Java→Rubyなんですけど、Javaの頃から、オブジェクトのコピーに関して、うまく頭の整理ができてません。
みなさんどうですか??
0449デフォルトの名無しさん
NGNGそのコードのどこでオブジェクトのコピーを期待する?
コピーを示すようなコードない。全部参照。名札を付けてるだけ。
似たようなオブジェクトがほしいならCloneを作ればいい。
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNGインデント幅とタブ幅の区別は無意味か。新しい意見だな。
おれはインデント幅 != タブ幅にしているからこの区別は重要だと思ってるんだが、447はいつも一緒なのか?
よければ、なぜ無意味であるかをもうちょっと語ってくれ。
>>428
Symbol#===とSymbol#==の速度差はこちら↓をどうぞ。以外と差があって驚いた。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/39935
でも>>441をみると、差はないね。なぜ?
>>436
ファイルサイズは結構へるよ。といっても5〜10パーセントくらいだけど。
仮に1行80文字として、そのうち先頭に8個の空白があってそれをタブ1文字に置き換えたとすると、7文字減る。
80文字のうち7文字減るから 7/80 = 8.75パーセント減ることになる。
特にRubyは
module XXX
class YYY
def ZZZ
if ...
....
のように意外とネストが深くなるから、タブ使うと思ったより減る。
まあインデント幅が2だとあんまり関係ないかもしれんが、おれは4にしているから。
つうか、ファイルサイズが減っても速度は気持ち程度しか変わらん。うまくいってもシステムコールの呼び出しが1回減る程度。それは前に書いたとおり。
また話がそれた。結局、タブ幅をいじってる理由はなんだったの?今まででた理由らしきものは「Outlookが4だから」ということらしいが、ほんとにこれが理由?Outlookが存在する前からタブ幅をいじるやつはいたと思うけど。
ちょっと荒らしっぽくなったけど、本当にその理由が分からなくて聞いてるだけなんで、タブ幅を変えてる人がいたら理由というか利点を教えてください。長年の疑問なんです。
気分悪くした人ごめんなさい。
0452デフォルトの名無しさん
NGNGタブ幅は決まってないの。
0453デフォルトの名無しさん
NGNGタブ幅を4にしてタブのみでインデントってのは、
オートインデントがなかったDOS時代のエディタからの影響だと思う。
つまり単にそういう「伝統」あるいは「習慣」。
0454デフォルトの名無しさん
NGNGただそれだけの話なんだよ。さっさと理解しとけ。
0455デフォルトの名無しさん
NGNGもしくは、Emacen をロクに使い熟せないアフォが迷惑かけています。
-- 終了 --
0456デフォルトの名無しさん
NGNGい い 加 減 、 他 所 で や れ
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/prog/1063471069/
0459448
NGNGもしかして、オブジェクトっていうのは、「クラス.new」した時にのみ作られるってことでいいですか?
この考え方でいいなら、「名札」って話も理解できました。
整数とか、""でくくってStringオブジェクトをつくれるのは、例外的な書き方ですね。
間違ってたら指摘お願いします。
0460デフォルトの名無しさん
NGNG基本的にはそうですけど、陽に「クラス.new」とは書かなくても
新しいオブジェクトを返す物は作れます。
def x
Hash.new
end
とか。使用局面ではxだけです。
Hash[]なんかは字面ではnewがありませんが新たにオブジェクト作りますし。
で、メソッドがオブジェクトのコピーするしないとかいうことを考えるんじゃなくて、
そのメソッドは破壊的か否かに気をつけるべきかと。
>整数とか、""でくくってStringオブジェクトをつくれるのは、例外的な書き方ですね。
そうです。他にArrayの[]、Hashの{}、Regexpの//などがあります。
0461448
NGNGありがとうございました。
0462368
NGNGsymbol = (タブかスペースx8)
File.open( fn, "w+b" ) do | f | f << (symbol * A + "t='test'\n") * B end
`ruby testtab.rb` #何回か繰り返す
starttime = Time.now
`ruby testtab.rb`
endtime = Time.now
p endtime - starttime
というテストプログラムを作ってテストしてみました。
A=10, B=100000
tab: 1.062
space: 1.281
A = 2, B = 500000
tab: 7.672
space: 7.843
A=10, B=100000
tab: 0.109
space: 0.125
A = 2, B = 50000
tab: 0.485
space: 0.531
といった感じで、「確かに効くけど、どうよ?」といった結果になりました。
100万個タブ使って0.2秒か……
0463368
NGNG>結局、タブ幅をいじってる理由はなんだったの?
何だよ、まだ続いていたのか。
>420
>タブ幅8だと深過ぎない?見やすさだとタブ幅2〜4ぐらいがベターだと思う。
>同じ理由でタブ幅4にしているユーザーも結構いると思うけど。
>453
>タブ幅を4にしてタブのみでインデントってのは、
>オートインデントがなかったDOS時代のエディタからの影響だと思う。
>つまり単にそういう「伝統」あるいは「習慣」。
つうことかねぇ。Delphiのエディタもオートインデントなかったしなぁ。
今は普通にオートインデントあるからタブ使ってインデントする必要もないけど、
昔は……と言ってもDOS時代ほど古くは無いと思うけど……タブでインデントしていた
風習からタブ幅2〜4ぐらいが好まれていたと思う。
タブだけでインデントしていれば、別に4でも8でも関係無いしね。
0464デフォルトの名無しさん
NGNGタブとスペースが混ざったクソコードは
Ruby の標準ライブラリにも大量に存在する。
0465デフォルトの名無しさん
NGNG大量に存在するでしょ。
いい加減こっちに行って。
http://pc5.2ch.net/test/read.cgi/prog/1063471069/
0466デフォルトの名無しさん
NGNG> タブとスペースが混ざったクソコードは
> Ruby の標準ライブラリにも大量に存在する。
そこでPythonですよ。(w
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG>つまり単にそういう「伝統」あるいは「習慣」。
そうですか、そんな理由ですか。でも今までで一番説得力のある回答だ。納得しました。
>>452
> あのね、タブ幅を変えてるっていう発想がおかしいの。
> タブ幅は決まってないの。
そうなの?でもいわれてみればそうだよな、タブ幅がANSIとかで規定されてるなんて聞いたことないしな。
タブ幅=8ということ自体が「伝統」あるいは「習慣」といえるのか。
>>462=368
>100万個タブ使って0.2秒か……
わざわざありがと。「気持ち程度」速くなることが確認できてよかったよ。
>>463=368
>何だよ、まだ続いていたのか。
ああ続いてたよ、368が論点のずれた回答ばっかくれたからね。
連続投稿おつかれさん。
>>464
標準ライブラリはなにかコーディングスタンダード決めてもいいような気はするね。
関係ないけどREXMLのソースがインデント幅8で驚いた。もちろんタブを使ってた。
>>453と>>452の回答で長年の疑問が解けたと思います。ありがとうございました。
スレ汚してすまんかった。
0469368
NGNG>「気持ち程度」速くなることが確認できてよかったよ。
なんかなぁ……今回は確認してやったけど、自分で確認しようとは思わなかったの?
「タブ使ったほうが速いんだ」て主張するまえに実際にテストしてみるもんだ。
どの程度速くなるか調べるつもりもなく主張するのって恥ずかしくない?
実行速度を気にしてスペース&タブなんて(一貫性の無い)インデント使うぐらい
だったら、インデントを削除した実行用ファイルを用意したら?
そっちの方がタブ使うより速くなるよ。
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNG468はちょっと神経おかしいと思う。
ま、病院行くほどの事はないかもしれないが、
匿名に慣れちゃった人の言動って怖いね。
コテハンが当たり前だったniftyとかの時代ではありえない人間像だ。
0474デフォルトの名無しさん
NGNG他所に移動しない(もしくは一方がもう一方を誘導しようともしない)
時点でどっちも相当いかれてる。
0475デフォルトの名無しさん
NGNG2chなんかで、自分の優越を誇示しようとする人間は全員キチガイ。
Q.E.D.
Rubyでのインデント幅は半角スペース2個が推奨
Emacs利用者は、.emacs に以下の設定をしよう
(setq-default indent-tabs-mode nil)
0476デフォルトの名無しさん
NGNG> Emacs利用者は、.emacs に以下の設定をしよう
matz 氏にもよーく言い聞かせておいて下さい。
0477デフォルトの名無しさん
NGNGタブ使えよぼけ
0478デフォルトの名無しさん
NGNG釣れますか?
0479デフォルトの名無しさん
NGNG必要に応じてuntabifyすればいいだけの話。
0480デフォルトの名無しさん
NGNGタブ使えよぼけ
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNGrubyではどういう関数を使うことできますか?教えてくださいませ。
たとえば、一定時間にgetsの処理が終了しなければ、
そのままfunc1(key)を実行したいのですが。
key = "default_key"
key = STDIN.gets # ← 一定時間でスキップして
func1(key) # ← これを実行したい
0483デフォルトの名無しさん
NGNG0484デフォルトの名無しさん
NGNGIO.select
0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNG> Rubyでのインデント幅は半角スペース2個が推奨
> Emacs利用者は、.emacs に以下の設定をしよう
ruby-mode.elはすでにそうなってる。
0488482
NGNGSTDIN.getsを1秒おきにすっとばしてほしいのですが。
IO.select([STDIN],nil, nil, 1)
key = STDIN.gets
0489デフォルトの名無しさん
NGNGこんな感じ?
key = "default_key"
key = STDIN.gets.chomp if IO::select([STDIN], nil, nil, 1)
func1(key)
0490488
NGNGうーん。win32で実行しているのですけど、一秒おきに飛ばしてくれません。
while 1
key = "default_key"
key = STDIN.gets.chomp if IO::select([STDIN], nil, nil, 1)
p key
end
で、キー入力なしで延々と"default_key"と表示されつづけるような使い方をしたいのですが。
0491デフォルトの名無しさん
NGNG・・・はあ?
だからね、タブ使ったところで「気持ち程度」しか速くならないって言ってるでしょ。
また論点がずれてるんだよ。速さうんぬんを問題にしてたんじゃなくて、タブ幅をいじる理由を問題にしてたの。
もう他の人に教えてもらったからいいけど、いいかげん論点からずれたような「主張するのって恥ずかしくない?」
368は質問に回答しようとしてるわけじゃないよね?相手を叩きたい、自分が勝ちたいっていう気持ちが先にあって、それから叩ける材料を探しているんじゃないか。だから論点を外れたところばかりつついてくる。
議論のポイントになるところでは自分の旗色が悪いまたは反撃できないから、それ以外のところに攻撃材料を求めて相手をなんとか叩こうとしているだけじゃん。どうせなら、452のように口は悪くてもいいから核心をつくようなことをいってくれ。
願わくば、368みたいなのがだれかの上司じゃありませんように。自分の優位性を無理にでも主張するような上司じゃ、部下がかわいそう。
> >「気持ち程度」速くなることが確認できてよかったよ。
> なんかなぁ……今回は確認してやったけど、自分で確認しようとは思わなかったの?
皮肉ってんだよ。わかりにくくてごめんな。
0492デフォルトの名無しさん
NGNG特にtooltipにこだわるつもりもなく、ウィンドウ枠とかを無くすやり方でもよいのですが。
あるアプリのテキストに対してrubyスクリプトを実行して、
簡易のポップアップ情報を提示するようなプログラムを組みたいのです。
どうかご教授くださいませ。
0493デフォルトの名無しさん
NGNGwin32だとgetsでtimeoutは動かないらしいから、
selectも動かないかも。
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNGツールキットは何使ってるの?
0496デフォルトの名無しさん
NGNG>自分の優位性を無理にでも主張するような上司じゃ、部下がかわいそう。
予想通りリア厨か
0497デフォルトの名無しさん
NGNG調べずに書いて失礼しました。Windows版の制約なんですね。
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=trap%3A%3Atimeout
0498デフォルトの名無しさん
NGNG~$ ruby --version
ruby 1.8.2 (2004-09-28) [i386-mingw32]
~$ ruby -r iconv -e ''
Segmentation fault (core dumped)
0499デフォルトの名無しさん
NGNG> あるアプリのテキストに対してrubyスクリプトを実行して、
っていう部分をどう実装するつもりなのかが激しく気になる。
マウスカーソルをかざすとか、選択してボタンを押すとか、
とにかくそういったイベントに応じて外部のプログラムを
起動するという機能がその「あるアプリ」に備わっていない
限りどうしようもない訳だが。
0500492
NGNGvr/vrubyですが、もし他のツールキットでできるんなら乗り換えますので。
>>499
スマソ。正直、自分ではどうやって実装すればよいのか分かりません。
babylonとかドクターマススとか翻訳系のツールの場合、
結構その手の処理が実現できているんで、もしかしたらできるのかなぁなんて。
0501デフォルトの名無しさん
NGNGhttpsの表示は時間がかかる物なんでしょうか?
それから、warning: peer certificate won't be verified in this SSL session.が
表示されますが、なにか足らないのでしょうか??
require 'net/https'
http = Net::HTTP.new('xxxxx', 443)
http.use_ssl = true
http.start {
http.request_get('/') {|res|
print res.body
}
}
0502デフォルトの名無しさん
NGNGttp://www.osk.3web.ne.jp/~nyasu/vruby/referer/vr/VRTooltip.html
0503デフォルトの名無しさん
NGNGそのワーニングでしょ。相手の証明書が確認できてないってこと。たぶんその
ための待ち時間なんじゃないかと思う。
確認するには、
1. 今回実行してみたサーバに対して、普通のブラウザで https経由でアクセ
スしてみる。たぶん何か警告のメッセージが出るはず。
2. 正しく https でアクセスできることがわかってる他のサイトでも試してみる
というあたりかな。
1.で警告が出て、2.でちゃんと遅くないなら、相手のサーバの設定の問題。プ
ログラムは悪くない。
0504デフォルトの名無しさん
NGNG相手のサーバ証明書が確認できてないというのは >>503 のとおりですね。
警告を出さないようにするには、
CA の証明書を用意してきちんと確認するようにするか、
サーバ証明書の確認をしないようにすればいいと思います。
前者ならば、PEM 形式の CA 証明書のファイルを用意して、
その path を http.ca_file= か http.ca_path= でセットしたうえで、
http.verify_mode= で OpenSSL::SSL::VERIFY_PEER をセットすればいいようです。
後者ならば、http.verify_mode= で OpenSSL::SSL::VERIFY_NONE を
セットすればいいようです。
0505デフォルトの名無しさん
NGNGrequire 'vr/vrtooltip'
class Window_for_ToolTip < VRForm
MAP = [0,0,80,80]
def construct
self.move 0,0,80,80
tt = createTooltip; tt.addToolArea MAP, "てすと"
end
end
VRLocalScreen.start(Window_for_ToolTip)
試しに書いてみたけど、元になるウインドウを自前で用意できない場合には、
どうやってtooltipを表示すればよいか分からん。
0506デフォルトの名無しさん
NGNG>だからね、タブ使ったところで「気持ち程度」しか速くならないって言ってるでしょ。
こういう馬鹿が変なこと言い出せなくさせるために
中間コード形式にもコンパイルするようにしてくれ。>まつもと各位
中間コード形式で配布できるようにな。
それぐらいできんだろ?>まつもと各位
0507デフォルトの名無しさん
NGNG馬鹿どもはだまってTabいれりゃいんだよ!Tabだよ!Tabだ!!Tab!!!
0508デフォルトの名無しさん
NGNG( ‘д‘)⊂彡☆))Д´)パーン
0509デフォルトの名無しさん
NGNG> 結構その手の処理が実現できているんで、もしかしたらできるのかなぁなんて。
できるとしてもVCでゴリゴリ書かないと無理だろうな〜
0511デフォルトの名無しさん
NGNGbabylonはOCRだそうです。
0512デフォルトの名無しさん
NGNGパスに日本語が混じるとマッチしないんですが・・・。
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNG>p Dir.glob('C:/*')
は'C:\あ'を含みますが、
>p Dir.glob('C:/あ/*')
とすると、'C:\あ'の下にあるファイルは一切表示されません。
ちなみに、
>$KCODE='s'
>p Dir.glob('C:/あ/*')
でもだめですた。
0515デフォルトの名無しさん
NGNGruby 1.8.1 (2003-12-25) [i386-mswin32]だけど、$KCODE無しでも普通に表示されたよ。
0516デフォルトの名無しさん
NGNGそのスクリプトの文字コードは Shift_JIS なんですよね?
0517デフォルトの名無しさん
NGNGWindowsのバージョンは何?
0518514
NGNGruby のバージョンはうちも同じです。
え〜、やってみたら「あ」だったら大丈夫みたいですね^^;
えっと、「府」が入ってるとだめみたいです。
これJISコードが 495C なので、 \ が 5C だからかなぁと
思ったら、卑(485C)はOKなんですよね〜。
なんでだろ。
0520デフォルトの名無しさん
NGNGまだ対応してないんじゃなかったっけ?
# [ruby-list:39957] あたりのスレッドを参照。
0521デフォルトの名無しさん
NGNG選択されたテキストをクリップボードに持ってくれば
(他の方法でもいいけど)なんとでもなる。
0523デフォルトの名無しさん
NGNGそれは出来るだろうけど、そういう意味じゃないと思うよ。
0524368
NGNG……もうちょっとRubyにからめて話そうよ。ただでさえスレ違いと怒られているのに……
>いいかげん論点からずれたような「主張するのって恥ずかしくない?」
>368 「プログラムじゃない文章とか読む/書くときに便利」
>420 「タブ幅8だと深過ぎない?」
->オートインデントの無い/効かないエディタとかでインデント代わりに
タブを使うとき見やすい
つうことだけど……あと、Winでもエディタはタブ幅8が普通ですな。スマン
と、蛇足はここまでにして >469の自己フォロー。インデント無しにした場合も
テストしてみました。
タブ数(A) = 2; 行数(B) = 1000000の場合で
18.406(タブ)
19.016(スペース)
18.329(インデント無し)
です。200万個で0.08秒……ゴミですな。
ただ、スペースだけのインデントも考慮すればそれなりの効果はあるかな?
#これぐらい>491には突っ込んでもらいたいところだけど……
0525デフォルトの名無しさん
NGNGていうか何でこのスレに粘着してるの?
0526デフォルトの名無しさん
NGNG予想だが
・Rubyを知らない
・TABならわかる
・Rubyを知らないけど粘着したい年頃
0527デフォルトの名無しさん
NGNGs/粘着/固執/
に読みかえて。
0528デフォルトの名無しさん
NGNGRuby使っているね。
・タブなら解る
・インデントはわからない
・実は、>368 と>491は変人同士気が合う
じゃない?
0529デフォルトの名無しさん
NGNG(lib/ruby/1.8/wsdl/、lib/ruby/1.8/xmlrpc/、lib/ruby/1.8/xsd/あたり?)
これのドキュメントってどこかにある?できれば日本語だと嬉しい
さっぱり使い方がわからない…(´・ω・`)
ドキュメントがないようならお勧めのXML処理系があったら教えて
0530デフォルトの名無しさん
NGNGREXMLが入っている。
http://www.cozmixng.org/~kou/ruby/rexml/
かな……
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNGあ、やっぱり思った? Rubyを出すと荒れるかなあとおもって静観してた。
それでなくても荒れ気味な感じ。
0534デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNGやまやまなんだが、耐えきれないほど遅い。
極力、xsl 使って、xsl じゃあどうにもならんときだけ、
Ruby 使ってる。
Ruby でつかえる早い XML 処理系あったら教えてくれ。
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNGruby-list 参照しろよ。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/39961
0538デフォルトの名無しさん
NGNG783 名前:名無しさん@お腹いっぱい。[sage] 投稿日:04/09/27 18:34:22 ID:N1fOBDqK
>>782
8以外の奴っているのか?
インターネット上で例があるなら示してくれ。
0539デフォルトの名無しさん
NGNGlibxml2とlibxsltのRuby bindingsは?
http://www.rubynet.org/modules/xml/libxml/
http://www.rubynet.org/modules/xml/libxslt/
0540デフォルトの名無しさん
NGNG毎回乙。
余程、Emacsが理解できずに悔しい思いをしたんだな。哀れな……
0541デフォルトの名無しさん
NGNGよしだむさんの XMLParser (James Clark さんの expat の wrapper) は速いですよ。
0542533
NGNGそれは見たんだけどね。
VC++ もってなく、cygwin とか BCC とか環境ととのえるの
マンドクさいしので、ビルドすんのやだし。
HEAD 使うのはちょっと不安な感じなのよ。バグとかではまりたくないし。
はやく 1.9 正式版でないかな〜。
0543デフォルトの名無しさん
NGNG0544500
NGNG> 選択されたテキストをクリップボードに持ってくれば
文字列をスクリプトに渡す部分以外に
クリップボードに持ってきた後、どう画面に(簡易)表示できるか気になっているのですが、
簡単なサンプルを紹介していただけませんか?
>>509氏のいうとおり、VCでがりがり書かないと無理?
0545デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/tooltip/usingtooltips.asp
0546デフォルトの名無しさん
NGNGhttp://vruby.sourceforge.net/samples.html
0547546
NGNG0548sai10sight ◆m7YeytgDFE
NGNGVisualuRubyのサンプルに"クリップボードの監視"という例があります。
参考になりませんかね?
http://vruby.sourceforge.net/samples.html
0550デフォルトの名無しさん
NGNG0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNGMarshal
0553デフォルトの名無しさん
NGNGこれだと思うが。
問題はサンプルがVBだということだ(がそんなに変わらん)
http://support.microsoft.com/default.aspx?scid=kb;JA;112649
ウィンドウハンドルとウィンドウテキストが取得できるから、
そのウィンドウハンドルに対してTooltipを描画すればよい、はずだが
vrubyではウィンドウハンドルは直接扱えないのな。
Swin::Window::hWndの付け替えとかしても大丈夫なのか?
対象コンポーネントのハンドラを持ったWindowが作れるならそいつに
VRToolTip::addToolすりゃいいんじゃないの。
0555デフォルトの名無しさん
NGNG(´,_ゝ`)プッ
Apolloもロクに知らないうんこ野郎はうんこだけをいじるのがお似合いだ。
0556デフォルトの名無しさん
NGNGかなり参考になりました。でも、自分ではうまくスクリプトを組めない…
> vrubyではウィンドウハンドルは直接扱えないのな。
> Swin::Window::hWndの付け替えとかしても大丈夫なのか?
ほかのtoolkitでもいいので、この部分どなたか簡単なサンプルを…
0557デフォルトの名無しさん
NGNGmethodの中のソースコードをそのまま文字列として返す
方法ってありますか?
0558デフォルトの名無しさん
NGNGRipperでググれ
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNG0561デフォルトの名無しさん
NGNGUconvだと元の文字コードが判別できないので…
0562デフォルトの名無しさん
NGNG「Rubyで実装されている」というのはPure Rubyでということ?
それから「nkf2.03並み」というのは具体的にはどういうこと?
これらがはっきりしないと回答のしようがないけど。
0563561
NGNGすまん
>Pure Ruby
そうです。できればRubyで書かれた物だと嬉しいです
よくよく見てみたらUconvもバイナリのライブラリでしたね…(汗
>nkf2.03並み
具体的にやりたいことは
・SJIS、EUC、UTF-8の判別機能
・SJIS、EUC、UTF-8の相互変換
です。
一応機能的には外部のnkf2.03を呼べばできるんですけどオーバーヘッドが結構馬鹿にならないので…
0564デフォルトの名無しさん
NGNG[ruby-dev:24277], [ruby-dev:24282] あたりが参考になるかと。
0565デフォルトの名無しさん
NGNG0566デフォルトの名無しさん
NGNGモジュールってあまりないような希ガス。Jcode.pmのJcode::Unicode::NoXS
くらい?
0567デフォルトの名無しさん
NGNGtaball を展開すると、見慣れた extconf.rb や setup.rb などは無く、
Rakefile, sqlite-ruby.gemspec といった怪しげなファイルがあり、
一体なんじゃこりゃー、な状態になってしまいました。
このあたりのインストールのしきたり (gem って何?) について
説明してあるドキュメントがあれば教えて下さい。
日本語で無ければ英語でも構いません。
0568デフォルトの名無しさん
NGNGRakefileはRakeというビルド用のツールで使われるファイル。
http://rake.rubyforge.org/
gemspecはRubyGemsというパッケージマネージャで使われるファイル。
http://rubygems.rubyforge.org/wiki/wiki.pl
RubyGemsについてはやまださんの日記にも情報が出ている。
http://arika.org/diary/20040813
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNGありがとうございます。これでなんとかなりそうです。
>>569
すいません、 README が見当たらないのですが・・・
0571デフォルトの名無しさん
NGNGapi つうディレクトリにインストール手順が入ってるとは・・・
0572デフォルトの名無しさん
NGNGdef Lock.lock(lockfile)
File.open(lockfile, 'w') do |f|
f.flock(File::LOCK_EX)
yield
end
end
end
というようにロックを作ろうと思ったのですが、
使ってみるとErrno::EBUSYというのがまれに発生しました。
これってどういうことでしょうか?
0573デフォルトの名無しさん
NGNGttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/errno.3.html
その例外こそ、別のどこかでロックがかかっているという知らせなのでわ。
0574デフォルトの名無しさん
NGNGロックが解除されるまで待たされるのが普段の動作だと思います。
試してみると、実際にそうなります。
ただ、一度だけEBUSYというのが発生して、何だろうと思ったわけです。
0575デフォルトの名無しさん
NGNGrbuconv
0576デフォルトの名無しさん
NGNGUnicode非対応だし。なんか前はもうちょっとましだった気がするけど。
ソースもファイルも最初から全部Unicodeなら$KCODE="UTF8"しとけば良いけど。
適当なサイトから文字コード判別方法だけ持ってきて判別できたら
あとはiconvでも良いような気がするけど。
iconv標準だし。
http://kasumi.sakura.ne.jp/~gm/gpj/dev/tips/other/kanji.shtml
とか。
0577デフォルトの名無しさん
NGNGの "|i|" って省略できないの?
たとえば $# はデフォルトイテレータとか決まってれば、
[1,2,3].each{ p $# }
とかけるのでラクチンなんですが。
毎回、|i| 書くのがマンドクセ。
0578デフォルトの名無しさん
NGNGそのうち unicode 対応 nkf が入るでしょ。
>>577
そんなときに goovy
0579デフォルトの名無しさん
NGNGあ、それは知らなかった。しかし約49倍も遅いのか。
ttp://www.rubyist.net/~tamura/d/?date=20030417#p03
0580デフォルトの名無しさん
NGNG個人的には、デフォルトのイテレータというのは気持ち悪くて嫌だな。
each_with_index とか File#open はどうなる?とか、イテレータが入れ子に
なったら考えるのもイヤだし……。
確かにちと煩雑だけど(名前考えるのマンドクセ)、引数を使わなければ省略で
きるし、今のままでいいんじゃないかと思うな。
0581デフォルトの名無しさん
NGNG0582デフォルトの名無しさん
NGNG新設はまずないと思うな。残すだろうけど非推奨ってことで。
あとおれも580に同意。気持ち悪いと思う。
0583デフォルトの名無しさん
NGNG有名なこの人まで褒めてると嬉しいね
0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNGエディタで補完しろ。
0587デフォルトの名無しさん
NGNG引数が複数の場合はどうするの?
0588デフォルトの名無しさん
NGNGin用の配列とoutの配列を用意して片っ端から処理していくなんて場合に初期化してからカウンタを
回すのが美しくない。デフォルトカウンタも美しくないと言われるとそれまでだが…
0589sai10sight ◆m7YeytgDFE
NGNGEnumerableクラスにメソッドを追加するとか、
既存のメソッドを再定義するとかして、
自動的にカウンタを提供できませんかね?
あ、それだと既存のeach_with_indexでいいのか...。
0590デフォルトの名無しさん
NGNGそゆ時はmapでないの?
0591588
NGNGイテレータの中で参照したい要素が2つ以上あるって事
いろんなパターンが思いつくけど一例としてはこんな感じかな…
a = [1, 6, 3,…]
b = [134, 579, 946,…]
o = Array.new(n)
i = 0
o.map!{|v|
f1(v, a[f2(i)], b[f3(i)])
i += 3
}
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNG1.8なら Enumerable#zip が使えるかも。
a = [1, 6, 3,…]
b = [134, 579, 946,…]
o = a.zip(b).map{|tmp|
f1(v, *tmp)
i += 3
}
0594デフォルトの名無しさん
NGNGa.size.times { |i|
o[i] = f1(a[f2(i)], b[f3(i)])
}
とかかな……。確かに map_with_index は欲しいときはある。
まあ確かに Range と zip を組み合わせばできるんだけど。
0595デフォルトの名無しさん
NGNGそもそもシステムの標準の文字コードって存在するのかな?
0596デフォルトの名無しさん
NGNGiconv.dll が見つからないというエラーがでます。
このエラーを回避するためには、
ruby のフォルダに iconv.so ってフォルダがあるんですが、
これをリネームすればいいんでしょうか?
0597デフォルトの名無しさん
NGNGどうぞ。
ftp://ftp.gnu.org/gnu/libiconv/
iconv.so は iconv.dll を Ruby で使えるようにするプログラム。
0598デフォルトの名無しさん
NGNGmswin32使ってないけど。
http://www.kaoriya.net/#LIBICONV
そしてどうせ書くなら近いサーバにしようや。
ftp://ftp.dnsbalance.ring.gr.jp/pub/GNU/libiconv/
0599デフォルトの名無しさん
NGNG現在のlocaleで使われているcodesetを取得するという話?
Cならnl_langinfo(CODESET)が使えるが(使えない環境もあるけど)、
Rubyにはそれに相当するものはなかったよなあ。
0601デフォルトの名無しさん
NGNG0602デフォルトの名無しさん
NGNG0603デフォルトの名無しさん
NGNGリリースしたバージョンが cvs に存在しなかったってのは伝説ですか
0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNGと思ったら、ただ単に require してるだけだった
0607デフォルトの名無しさん
NGNGいまいち、どういう時にSymbolを使うべきかわかりません。
0608デフォルトの名無しさん
NGNG使わなくちゃいけないところで使えばいい。
あるいは、あなたが知る/知らないにかかわらず、内部で使われてる。
0609sai10sight ◆m7YeytgDFE
NGNGC++のenumの感覚で使ってます。
状態遷移を示す定数として:standby→:processing→:doneとか、
曜日に対応する値として:monday〜:sundayとか。
実際の値に興味が無く、名前で区別できれば良い場面で重宝してます。
0610デフォルトの名無しさん
NGNGだから Symbol を直接使うんじゃなくて、定数に代入しといてその定数を使うようにしてる。
include Module.new {
[:FOO, :BAR, :BAZ].each {|sym| const_set(sym, sym)}
}
p FOO #=> :FOO
0611デフォルトの名無しさん
NGNG定数の値とかハッシュ引数のキーとか。
0612デフォルトの名無しさん
NGNG大量に使う時に軽い
0613デフォルトの名無しさん
NGNGだいたい数%ぐらい?
0614デフォルトの名無しさん
NGNGstring = 'test' * A; symbol = string.to_sym
h = Hash.new
#Hashの中に適当に代入
h.clear
starttime = Time.now
B.times do h[string] = string end
endtime = Time.now
p endtime - starttime
h.clear
starttime = Time.now
B.times do h[symbol] = symbol end
endtime = Time.now
p endtime - starttime
A = 100(400文字); B = 1000000
String: 6.625
Symbol: 0.625
A = 10(40文字); B = 10000000
String: 15.938
Symbol: 6.265
長い文字列は効くなぁ
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNG文字列 h["test"] よりも、シンボル h[:test] のほうが、
一打少なくてすむので、ちょと楽。
0617デフォルトの名無しさん
NGNGタイプ量はもっと違うな。ホームポジションからの移動距離はさらに違う。
0618デフォルトの名無しさん
NGNGうまくいきません.
例えば,http://pc5.2ch.net/test/read.cgi/tech/1095004337/
を指定して,標準出力する場合,下記ソースのどの部分が
まずいのでしょうか?
require 'socket'
host, port, path = "localhost", 80, "/"
if %r!http://(.*?)(?::(\d+))?(/.*)! =~ ARGV[0]
host = $1
port = $2.to_i if $2
path = $3
end
s = TCPSocket.new(host, port)
s.print "GET #{path} HTTP/1.0\r\n\r\n"
print s.read
s.close
0619デフォルトの名無しさん
NGNGopen-uri 使ったらいかんの?
http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=open-uri.rb
---
require 'open-uri'
open("http://pc5.2ch.net/test/read.cgi/tech/1095004337/","User-Agent"=>"ruby"){|http|
puts http.read
}
0620デフォルトの名無しさん
NGNGレスさんくす
open-uri使えば,普通にできました
なにぶん初心者なもので,すんまそん
0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNG0623デフォルトの名無しさん
NGNGんー手元の環境で実行してみたら、普通のサーバの普通のページなら取り出せ
たよ。
ただ、http://pc5.2ch.net/test/read.cgi/tech/1095004337/の場合は302でフォ
ワードしてるみたいだから、それを扱う部分を自分で作らないとダメみたいだ
ね。で、 open-uri ならそこまで込みでやってくれるという話。
0624デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1095004337/ は
open-uri や net/http でも User-Agent を送らないと見れない。
# socket では…どう書くんだろ
0625デフォルトの名無しさん
NGNG「リクエストヘッダ」で調べてみろ
0626デフォルトの名無しさん
NGNG0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNG0631デフォルトの名無しさん
NGNG相変わらず何かをはじめる行動力はすごいな。
持続力の方は(検閲削除)
0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNGいいえ。MWウォッチスレです。
0635デフォルトの名無しさん
NGNGC言語で言うclock()か何かあればいいんだけど。
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG何のミリ秒?
0638デフォルトの名無しさん
NGNGstart = clock();
〜何かの処理〜
printf("%msrc\n", clock() - start);
みたいな差分が取れればいいです。
0639デフォルトの名無しさん
NGNGベンチには興味がないので良く知らんが、
>>614 などに良く上がってる方法じゃだめなのか?
1ms単位の値に見えるけど。
0640デフォルトの名無しさん
NGNGありがとうございました。
0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNG0643デフォルトの名無しさん
NGNGたとえば、「ファイル名が"{"で始まるモノ」ってどうかきゃいいの?
Dir.glob("C:/{*") も、Dir.glob("C:/\{*") もダメですた。
0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNGhttp://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Dir;em=Dir.glob
> ruby 1.7 feature: ワイルドカードはバックスラッシュによりエスケープすることができます。
> (ダブルクォートの文字列中では 2 重にエスケープする必要があることに注意してください)
0646デフォルトの名無しさん
NGNGirb-historyってなんだっけ。
irb/ext/history.rbとは別?
0647デフォルトの名無しさん
NGNGbegin 666 irb-history.rb.bz2
M0EIH.3%!629363W=$:<``,W?@'@P2/?Z%_MOG6J_____0`+UUEA;J[75#4Q3
M1HH]/1,C29J9/4;4QJ830-J&FC30T`&B#*"#R4]1Z-3U#(``:&F@`-&1D#4R
M4]1D&@'J9-&@```````!(E!HFIFF1J38D/*-#(#U`9!H#8H`D#``"D1`S,P2
M&B*TVOBNC'[23Y^:.Y)D7*U^G[:GRXO4\;7?8D*(FE-5+5%=^WD@K062E6;T
ME&L@Y5CB49,WE$"#(T`=T8@',#!C!M4.&VTQL<(BD+S(&1$16J<O&]MMPKLE
M"1OV_?TW7(/*^RBA>`HHVS&Q&,-:7.!MY$SQ8.BBK,DUH91>NM*$]VR(OIL3
MR=@LQ2(HFE9+,P\+4HJIC&LL`!42_MLLX<N1S8!;F46KF".&OAE%H]7#832L
M3Y%PZCSJ9F!)=,E3C4;@YMZ!TOZU`U6@&/#(##C'X*(NKRE@\-JX,;D^-0ES
MM*X9H9U9^?\+X;T+>?F*K'O,E/`D==/+,1]B(B.N(#L,1V4HH=A)[A&GY&\L
M*"3E'BH/,71C+L5PBNA(L4A%EF(H$18\1YQ&V94JXP$3:C);7P-9L+!D`\_C
M0UN!FY.\HNP5K08MAAL>+\W=]@LM<[!#MUHQU=]@#55E(,M.RF/.*AQPIE,Q
MU7T#V@Q].2`,$2&I@YL4KGJ@E`:3M,&-M$"D..&I*@#;,R!&1S4&]%$&P[\2
MH.A:@ZN4#!'F!MLNBB>?5U-%!/"X^FEZD=@L-==P4$]10U7S!B!H9#@*H2V$
M!G*8HRWP(S(G[&=XVE-D2TWT#,A@'96$&2,.6UP6V3WY>8Q"MJ[]X@NG*L>O
M,<U=`0<C.UIXAHC0/KGT6V,8=91GJ%;%([#P,:*KS8`QB6X'6XN-Q`H)W-"1
MJ<B>@=%N/URDI77M3@1[9&@TY@LY-$]9"A):ZX)MET7P%#%IX`T@,W3&<P?O
M-MHY<)1!]0VNC!T.C+MJSWC]Q-2;)0()EJV3SOPX_5TD5'15Q9L*;V2PP2"Y
MR%-$APOL54$2!Y`\I0$+&/V)=!C3`/W&IS"V6?,5F]:Z84R/+6*MA4,"FF
8KC(F*LI=VYS_#Z+;?^+N2*<*$@>[HC3@
`
end
↑これです
0648デフォルトの名無しさん
NGNGこれはどういうときに使うと嬉しい物なのでしょうか。
0649デフォルトの名無しさん
NGNG処理だけあとづけで追加したいときとか。選択したいときとか。
ブロックでもいいけどコールバックとか。
0650デフォルトの名無しさん
NGNG宗教的博愛精神の関係を教えてください。
0651デフォルトの名無しさん
NGNGブロックを別の関数に渡したいときとか
class MyArray
def initialize *arr
@arr = arr
end
def each
@arr.each(&proc)
end
end
0652648
NGNG抽象化ですか、だからとっつきにくいのかな.
>>651
a = MyArray.new
a = [1, 2, 3, 4]
a.each{|x| print x} #=>1234
などとやってみたのですが、やっぱりよく分かりません。
もう少しサンプルを見せていただけないでしょうか。
0653デフォルトの名無しさん
NGNGマーティン。
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?Closures
perlで
http://kabocha.org/jelfe/07/21.html
C#2.0で
http://oka326.blogspot.com/2004/09/blog-post.html
groovyで
http://blog.goo.ne.jp/ikkoan/e/4a0b27b590599a30b39c7e133d3a0fc2
俺がクロージャを使うのは専らApollo使っててアクション定義するとこだな。
まあ俺は他では滅多に使わないが機能としてはあった方が楽というか
Javaやってて無いことに気付いた時に悲しい場面が昔あった。
何だったか忘れたが。
0654デフォルトの名無しさん
NGNGある文字列を読み込んだところで、nil になり、正しく読み込めなくなりました。
これは、文字コードの問題なんでしょうか?ちなみに、shift-jis使ってます。
0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG読み込みはどういう処理にしてるんですか?
スクリプトを公開してみては?
0657デフォルトの名無しさん
NGNG団長!こいつがRubyistを装ってPythonスレを荒らした犯人です!
0658654
NGNG読み込みは、簡単に書けば以下のようにしてます。
入力ファイルからある部分の文字列を読み込み、出力ファイルへ書き出すようにしています。
それだけの処理なので、文字コード依存の問題かと思ったのですが...
問題のある行を読み込むと、次の文字列からは全てnilになってしまいます。
while text = in_file.gets do
out_file.print text
end
0659デフォルトの名無しさん
NGNGなるほど。あとは"問題のある行"の内容でしょうね。
EOFコードが入ってて、ファイルの終端とみなしてるとか。
その行の内容(文字コード)は確認済みですか?
実例をここで示せます?
0660654
NGNG問題の行の内容は、
「Q08.編集機能は重視するか?---CMカット程度でいい」で、この部分の文字コードは、
「48 56 46 149 210 143 87 139 64 148 92 130 205 143 100 142 139 130 183 130 233 130
169 129 72 45 45 45 67 77 nil」
となります。
「〜CM」という部分まではうまく読み込めるのですが、その後の文字でnilになっています。
0661デフォルトの名無しさん
NGNGUNIXとかCygwin使ってるなら、そのファイルの問題の行をodでダンプ
してみたら?
0662デフォルトの名無しさん
NGNGtext = ''; open('foo.txt', 'rb'){|f|text = f.read}
みたいに全部読み込んじゃってからString#で処理するんじゃダメか?
0663660
NGNGやってみます。
さっき、DOSプロンプトで実行してみたら、nilになりませんでした。
cygwinだと文字列の取り扱いでよくエラーでる気が..
でも、わけあってcygwinでやらねば。
>>662
読み込みたくない行があるのと、読み込んだ行を加工したいので、
全部読み込むやり方はできないんです。
0664デフォルトの名無しさん
NGNGhttp://devlog.moonwolf.com/
0665デフォルトの名無しさん
NGNG複数のcheckboxを選択して、それらのvalueを
Array型でフォームの値を渡すにはどうしたらいいのでしょうか?
どうしてもString型で渡ってしまうのです。
0666デフォルトの名無しさん
NGNGDOSプロンプトから操作するCUIのrubyスクリプトを組みたいのですが、
別スレッドでキー(標準)入力して本スレッドの挙動を操作することって事実上無理ですか?
過去スレを読んでいると、stdin.getsからは、selectもtimeoutも使えない >>493
と書いてあるのですが。別の方法や抜け道があれば教えていただけませんか?
0667デフォルトの名無しさん
NGNGselectとか使えないなら、本スレッドに相当する物は
別のプロセスで動かすのはどうか。
プロセス間通信はdRubyで。
0668デフォルトの名無しさん
NGNGなんか普通にコンソールから実行するのと挙動が変わって
encoding.rbの39行目の
load 'rexml/encodings/UTF-8.rb'
でLoadErrorになる。上記のファイルを手動でレシピファイルに追加してもダメ。
exerbでREXML使えている人いる?
0669668
NGNGttp://miyamuko.s56.xrea.com/20040831.html
どうやらexerbの仕様のようですね…
0670デフォルトの名無しさん
NGNGまさにそのeachに渡す部分が後づけで変更できるでしょ。
「xをもらってそれをprintする」という処理がproc(この場合はブロック)によって
抽象化されてるから、その恩恵が得られてるわけ。
つまり、eachみたいなもんをつくろーとしたら必要になるってこった。
0671デフォルトの名無しさん
NGNGCGI#[]を使ってる?
CGI#paramsではどうですか。
0674デフォルトの名無しさん
NGNG> selectとか使えないなら、本スレッドに相当する物は
> 別のプロセスで動かすのはどうか。
> プロセス間通信はdRubyで。
別プロセスを動かそうとしたのですが、
ひょっとしてDOS窓からはfork無理っすか?
threadでも試してみたものの、
やっぱりSTDIN.getsしようとすると途端に調子が悪くなります。
0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNGあ、cygwinだとfork動かなかったかも。
なんせwin上でRuby使ってたの何年も前なので許してたもれ。
0677デフォルトの名無しさん
NGNG解っているとは思うけど、分解能はmsオーダー無いヨ
0678デフォルトの名無しさん
NGNG一応実装されてるよ。
0679デフォルトの名無しさん
NGNGrequire "benchmark" して Benchmark.bmbm か Benchmark.measure をつかう。
Process.times を使ってるみたいだから分解能はたぶん処理系依存。
0680デフォルトの名無しさん
NGNGhttp://www.itmedia.co.jp/enterprise/articles/0410/05/news016.html
0681デフォルトの名無しさん
NGNGRuby/pcap をコンパイルして実行すると、
pcap.so: warning: do not use Fixnums as Symbols
というwarningが出るんです。で、調べたところ Pcap.c の
cPcapStat = rb_funcall(rb_cStruct, rb_intern("new"), 4,
Qnil,
INT2NUM(rb_intern("recv")),
INT2NUM(rb_intern("drop")),
INT2NUM(rb_intern("ifdrop")));
というところがあやしいとわかったのですが、どう直せば良いでしょう?
0682デフォルトの名無しさん
NGNGそれはRubyだけの問題じゃないというかスレ違い。
0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNG0685デフォルトの名無しさん
NGNGこの場合INT2NUMが返すのはIDの値を持ったFixnumであるわけだから
INT2NUMじゃなくてID2SYMでも使えばいいんじゃないだろうか。
詳しくはrefe -eしてくれ。
文字列に対するIDが欲しいならrb_str_new2()してrb_obj_id()すべきかも
と思ってrefe Struct::newしてみたらやはりID2SYMでいいんじゃないかと思った。
第二引数以降はSymbolか文字列なのでrb_str_new2でもよいが
>>メンバ名に文字列を指定できるのは後方互換性のためだと考えた方が良いでしょう
ということらしいので。
これでわかんなかったらMoonWolfに相談してみろ。
そしてPaypalでお布施しとけ。
ところでnewする場合はrb_class_new_instanceの方が良くないか。
0686デフォルトの名無しさん
NGNG0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNGここもサポートの窓口対象らしいですが
ここで依頼するときはどうすればいいのでしょうか?
何も気にせず疑問のみ書けばMoonWolfさんがいつの間にか返答してくれるのですか?
0689デフォルトの名無しさん
NGNGdef eachn(n)
i = 0
while i < self.size
yield self[i,i+n]
i += n
end
end
end
v=[]
[1,2,3,4,5,6].eachn(3){ |i,j,k|
v << [i,j,k]
}
p v
v=[]
[1,2,3,4,5,6].eachn(2){ |i,j|
v << [i,j]
}
p v
実行結果
>>[[1, 2, 3], [4, 5, 6]]
>>[[1, 2], [3, 4], [5, 6]]
今日思いつきで、こんなコードを書いてみた。
でも、毎回イテレータ書くのマンドクサイので、標準の機能であったら教えて。
0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGID2SYMでもrb_str_new2してもうまくいきました。ありがとうです。
で、ID2SYMのほうを使います。
でも ID2SYM って、README.EXTに書いてないじゃん。
0693デフォルトの名無しさん
NGNGまた、お前か。
キレイに書き直せるモンならやってみろ、と。
まぁ、オマエには無理だろが(w
0694デフォルトの名無しさん
NGNGttp://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=
Array%A4%F2%B3%C8%C4%A5%A4%B9%A4%EB
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNGputs 最後に改行文字がつく
print 何もつかない
0697デフォルトの名無しさん
NGNG"premature end of regular expression"と出るのですが,何が原因なんでしょうか?
for i in 0...array.length
if /#{array[i]}/ =~ line
print line
break
end
end
0698デフォルトの名無しさん
NGNGarray[i] に正規表現のメタ文字が入ってておかしくなってるんじゃない?こうかな?
if Regexp::compile(Regexp::escape(array[i])) =~ line
0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNGインストール先をiniファイルなどやオプションなどに記述して
変更する方法はないものでしょうか。
宜しくお願いいたします。
0701デフォルトの名無しさん
NGNG誤爆ディスカー??
0702デフォルトの名無しさん
NGNGVS.NETに組み込まれる可能性なんて
絶対にないからな。
0703デフォルトの名無しさん
NGNGつか、.NETは実質C#一人勝ちの世界だから気にしてもしょうがない。
これでM$がとちくるってC#Scriptなんて持ち出してきたら分からんがw
0704デフォルトの名無しさん
NGNGSystemStackError で止まらずに segmentation fault に突入しちゃってる、
というのが問題なんじゃないの?
0705デフォルトの名無しさん
NGNGなしてそれをMLでなくここで言いますかw
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNGそれはインストーラ作成ツールの話だからRubyと全く関係がない。
>>702
ActiveStateがRubyに興味を示せばVisual Ruby.NETができるかもね。
>>703
単なるbridgeでいいならこんなのもあるよ。
http://www.saltypickle.com/rubydotnet/
0708648
NGNGなければ、MoonWolfさん一つお願いできませんか。
0709デフォルトの名無しさん
NGNG>単なるbridge(以下略
ほー、こんなんもあるのね。
ActiveScriptRuby使えばCOM経由で……と思ったりしてたが
試してみますか。
0710デフォルトの名無しさん
NGNGいつ行っても、手に入れられません。
tdiary も良く落ちてるし、「rubyは不安定」と思われているのは、
この2つのサーバーが原因だと思います。
0711デフォルトの名無しさん
NGNG> この2つのサーバーが原因だと思います。
それを言ったらZopeなんかものすごいことになってるのだが。
0712デフォルトの名無しさん
NGNGまぁそう妬むなよ
0713デフォルトの名無しさん
NGNG落ちてるのはmojiタソのところだけです。
0714デフォルトの名無しさん
NGNG■インターネットでご活躍の皆様へ、そしてご活躍予定の皆様へ
BIG な BIG な、サーバーを用意しました
遅い・・よく落ちる・・からの開放!さらなるステップアップへ!
http://www.maido3.com/server/
●月々\1,000からのレンタルサーバ
http://www.binboserver.com/
●無料サービス続々登場 !!
DDNS , 掲示板 , QRコード , チャット , 無料ホームページ , 無料カウンタ , etc ....
http://news.kakiko.com/
●目標 2ちゃんねる完全互換 無料レンタル掲示板 !!
使ってみてね.....
http://yy.kakiko.com/
http://yy10.kakiko.com/beta/ (開発室)
0715デフォルトの名無しさん
NGNG順番が関係ない物はArrayよりHashの方が扱いやすいし
0716デフォルトの名無しさん
NGNGむかーし、HashのキーにSymbol使って、
それをMarshalしてえらい目に遭ったことがあるw
今は大丈夫なのかねえ。
0718デフォルトの名無しさん
NGNG>以前 Fixnum, Symbol が渡されない不具合があったが、 1.6.7 2002-03-15 ごろに改修済み
らしい
この辺は関係あるのかな。
0719デフォルトの名無しさん
NGNGRuby 独自のモノなんですか?それとも Unix のでは
標準的なものなんですか?
0720デフォルトの名無しさん
NGNGワイルドカード自体、シェルによって方言がある。
だから標準かと言われると、まあまあいい線いってんじゃないのて答になるかな。
0721デフォルトの名無しさん
NGNGPOSIX に glob(3) ってのがあるね。実装的には Ruby のは独自みたいだけど。
0722デフォルトの名無しさん
NGNGいわば雑種。
今更誰が親かなんてわかんない。
0723デフォルトの名無しさん
NGNG他のシェルに **/ とかはないと思ったけど。
まあzshはもっとリッチに指定できるけど、煩雑すぎるだろうね。
標準的かというと、標準の機能は備えていて、追加分がいくつかある、という
解答が正しい気がする。
0724デフォルトの名無しさん
NGNGzshならば*(/)とかも使いたい!!
いやま、別にいらんけどあったら便利かな。
0725719
NGNG使えるようにしたんですが、ドキュメントに書くのに、なんて書いたら
いいかなぁ〜と思い質問しました。とりあえず「Ruby風ワイルドカード」
とでも書いておきます。
0726デフォルトの名無しさん
NGNG>Ruby風ワイルドカード
わかる人少なそう…w
0727デフォルトの名無しさん
NGNG知っている言語は sh と emacs lisp が少々です。
本でも web でもどちらでもかまいません。
よろくおねがいします。
0728デフォルトの名無しさん
NGNGまずはmatzのチュートリアルかなあ。とにかく最低限の入門で、
こいつでざっとよんであたりをつけてから書籍なりなんなりかな。
http://www.ruby-lang.org/ja/20020310.html
書籍では「たのしいRuby」がおすすめ。
0729デフォルトの名無しさん
NGNGやっぱ、使って慣れるのが一番。
shとlispしか知らないのなら、
オブジェクト指向の感覚が掴み易い本が良いんじゃないかな、最初は。
自分で立ち読みして決めた方が良いと思うぞ、気に入らなかったら買い直せば良いだけだ。
あとは、興味のあるClassについて、
本家サイトのリファレンスマニュアルをぼーっと眺めてみる。
0730デフォルトの名無しさん
NGNGうげぇええええええ
Python の方が良さげ。
さよなら
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGそんなの各言語のUTF8化でお役目御免じゃんw
過去の汚物だな >Ruby
0733デフォルトの名無しさん
NGNGいまだにSJIS対応Pythonなんてものが配布されてたりするし。
そういえばRubyのm17nってどうなってるの?
つうか、具体的には何を取り扱うことになってるの?
0734デフォルトの名無しさん
NGNGdebug.rbがうまく動いてくれないのは、よくある話ですか?
ステップ実行しても先の行に進まずに、何度も同じ行を繰り返すんですが。
1.6.8と1.8.2ではちゃんと動いているのが確認できてます。
0735デフォルトの名無しさん
NGNGとりあえず鬼車ダウソしてみれ。そこにあるコードはたぶんm17nなRubyでも扱うことになると思ふ。
>>734
くだらんツッコミだけど、まだリリースされてないバージョンを書かないで欲しい。じゃないとプレビューの存在意義から考えても、リリース後ごっちゃになるっていう意味でも、うれしくない。
0736デフォルトの名無しさん
NGNGいまから勉強を始めるなら、Ruby より Python ですか?
0737デフォルトの名無しさん
NGNGHSP
0738デフォルトの名無しさん
NGNG0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNGできれば日本語で。
0741デフォルトの名無しさん
NGNGくらいしかないんじゃないかな、今のとこ。
0742デフォルトの名無しさん
NGNGありがとうございます。かなりわかってきました。面白そうですね。
IRC bot の安全版 eval プラグインみたいのが作れたりするかな?
0743デフォルトの名無しさん
NGNG0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNGもうね、アボガド(ry
0746デフォルトの名無しさん
NGNG0747江戸川コナン
NGNG0748デフォルトの名無しさん
NGNGRuby は些細なこと(例えばこの前の言語バトル)で満足感を得るぐらいs
0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNGいや、Ruby は必死だしw
なにかとねw
0751デフォルトの名無しさん
NGNG0752デフォルトの名無しさん
NGNG判で押したような考えの日本人だけの愛用者・・・オモロイ奴がいない・・・
0753デフォルトの名無しさん
NGNGrubyの影響受けた言語も新しく産まれてるし。
0754デフォルトの名無しさん
NGNG具体的には何?
0755デフォルトの名無しさん
NGNGちなみにGroobyは意図的にRubyに発音似せたらしいよ。
0756デフォルトの名無しさん
NGNG発想自体が違うよ。
Ruby と Python を比べるなんて、
C と Pascal を比べるのと同じくらい不毛。
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNG名札を使いたければHash
順番が大切ならArray
indexを使いたいならHash
出し入れの速度ならArray?
かな…まだまだありそうだ…
0759デフォルトの名無しさん
NGNGgroovy
0760デフォルトの名無しさん
NGNGでかいけど中身が疎ならHash、とか?
a = []; a[0] = 1; a[10000] = 2
b = {0 => 1, 10000 => 2}
とか。Arrayでも問題無し?
0761758
NGNG>indexを使いたいならHash
適当にでっち上げたベンチマークだと相当速いんだが、実際に使うと
状況にかなり左右されるなバラツキが激しいというか最悪Arrayより遅くなる
…難しい…
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNGあ、先越されちゃった。まあいいか。matzさんのコーディングスタイル。
ttp://www.rubyist.net/~matz/20041006.html#p02
0765デフォルトの名無しさん
NGNG社内メーリングリストでRubyのコーディングスタンダードの話題が持ち上がる。
個人的には「自分で勝手に決めて」という感じなのだが、まあ、私のスタイルを参考にしたい人もいるだろうということで、まとめてみた。
その転載。
ローカル変数名はすべて小文字。単語の区切りは"_"。
インスタンス変数名は(先頭の"@"以外は)すべて小文字。
クラス名、モジュール名は、先頭は大文字、続 く単語も先頭の文字を大文字に(つまりCamelCaseStyle)。
クラス・モジュール以外の定数は全部大文字。単語の区切りは"_"。
メソッド名は一部の例外を除きすべて小文字。
述語メソッド(真偽値を返すメソッド)には末尾に"?"をつける。
"!"をつけるようなメソッドはなるたけ作らない。
ライブラリファイル名はそのファイルが提供するクラス名・メ ソッド名を小文字化したもの(もしあれば)。そのような「名前」 はできるだけ一単語のものを用いる。
モジュールをネストする時には'foo/bar'のような形にディレ クトリを分ける。
真偽値の判定には"== true"という判定を行わない。なぜなら Rubyではtrueは唯一の真値ではないから。
メソッド名とメソッド引数のまわりの括弧の間に空白を置かな い。なぜなら警告されるから。
演算子の両側に空白をいれる。または両側に空白をいれない。 当たり前。
kind_of?やisa?を使わない。DuckTyping推奨。
ライブラリファイルの末尾には if __FILE__ == $0 で囲んで テストケース(かサンプルプログラム)を書いておくとよい。
他人が使うRubyプログラムにはRDocコメントをつけておく(と 良いと思うが、自分ではなかなかできてない)。
インデントは2。なぜなら空間効率が高いから。
自明なことはコメントしない。なぜなら本当に大切なコメント が埋没してしまうから。
「未来の自分が混乱しそう」と思ったことは躊躇せずコメント する。そうでなければコメントはあまり必要ない。
「本当に必要だ」と感じた時以外はメソッドは20行以内に抑え る(数はどうでもよい、目安に過ぎない)。例外は巨大なcase文 を含むディスパッチコードくらいか。
共通機能部分はモジュールにくくり出す。
お役に立つか、立たないか。ご参考までに。
0766デフォルトの名無しさん
NGNG>演算子の両側に空白をいれる。または両側に空白をいれない。 当たり前。
説明する気無いだろw
0767デフォルトの名無しさん
NGNGこれはいいね、久しぶりにmatzの言うことで感心した。
0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNGそれじゃぁ、そのPerlを目標にライブラリを充実させましょう。
0770デフォルトの名無しさん
NGNG本当に*充実*か?
0771デフォルトの名無しさん
NGNGCPAN内を巡回しれよ…
つぅかフクロウ本に書いてあるね
Python > Ruby
0772デフォルトの名無しさん
NGNG0773デフォルトの名無しさん
NGNGん?どこに書いてるっけ?
フクロウ本といえば、第1版の監訳者氏の紹介文が印象的ですね。
> 第1回 Perl Conference Japan のプログラム委員を依頼されるが、
> 基調講演に国産スクリプト言語である Ruby の話題を推薦し、
> Perl ファンからの顰蹙を買う。
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNGClass.new で生成したクラスオブジェクト、ってこと?
オレの理解は↓なんだけど、間違ってたらアレなんで誰かツッコミ希望
クラスオブジェクトに限らず任意のオブジェクトについて
*そのオブジェクトを指定して明示的に解放する手段はない
*「どこからも参照されてないのに GC.start しても解放されない」可能性がある。(保守的GCだから)
0776デフォルトの名無しさん
NGNG親に伝える方法ってどんなのがありますか?
0777デフォルトの名無しさん
NGNG親ってなんじゃい?
0778776
NGNG具体的には
class A
def initialize(foo)
hoge = f(foo)
if hoge == nil then
※1 エラー検出
end
…
end
end
a = A.new <ここで※1になったかどうかを検出したい
な感じです。
0779デフォルトの名無しさん
NGNG例外出して受けたら?
0781774
NGNGthx
Class.new で生成したクラスオブジェクト、ってこと?
そうです。
やっぱり任意に解放することはできませんか…
どうしても困る事じゃないんですけどね。
0782デフォルトの名無しさん
NGNGってかそんなんなくてもええからrubyスタイルでバグ少なくする方法教えてくれ。
0783デフォルトの名無しさん
NGNGtest first で書く
0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNGa = "old"
b = a.chop
c = "new"
d = c.chop!
p a.id => 23214536
p b.id => 23214524
p c.id => 23214512
p d.id => 23214512
これで、破壊的メソッドと、非破壊的メソッドの重要性もわかりそう。
0786デフォルトの名無しさん
NGNGコメントです。
* (Ruby 1.8以降では)Object#id は推奨されていません。
Object#object_id を使った方が無難でしょう。
* 破壊的メソッドが全て self を返すわけではありません。
* ある破壊的メソッドが self を返すケースがあったとしても、
常に self を返すとは限りません。たとえば "".chop! は
self でなく(変更されなかったことを表わす)nil を返します。
* 名札の話だとすれば
a = "old"
b = a.dup
c = "new"
d = c
を、より分かりにくくした例に思えます。
(String#{chop,chop!} の知識が必要になるで)
* 破壊的/非破壊的の方は、例になっていないように思えます。
(このサンプルだと*破壊*されてるところが見えてないので)
0787デフォルトの名無しさん
NGNGこの仕様って現実的にはどう利用するの?
0788デフォルトの名無しさん
NGNG*band厨ですか?
0789デフォルトの名無しさん
NGNG更新できますか?ボタンを押した際、hoge1→ hoge2と更新したいのですが。
def construct
$name = "hoge1"
addControl(VRStatic, "st1", $name, 0, 0, 100, 30)
…
end
def btn1_clicked
$name="hoge2"
…
end
0790デフォルトの名無しさん
NGNG>*band厨ですか?
いみふめー
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?q=%E3%82%BF%E3%83%96%E3%82%92+site%3Aruby-lang.org
0793デフォルトの名無しさん
NGNG俺のイメージでは変数の宣言不要というのはちょっと違う。
宣言と代入が同時というイメージ。まあグローバルとかは違うけれど。まあ-wあるし。
この仕組みは結構よく出来てるよね。Pythonとか由来なのかな?
これだと意外に単純なスペルミスにははまらない。
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNG0798デフォルトの名無しさん
NGNG########################
DDDDDDDDD@DDDD
########################
0799デフォルトの名無しさん
NGNG0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNGRubyでどこまで完成度の高い or 洗練されたGUI作れるのか参考にしたいのですが。
0802デフォルトの名無しさん
NGNGGUIって言語に依存するもんじゃないよ。
0803デフォルトの名無しさん
NGNG他のGUIにもSDLの窓を入れられたらいいのに、と夢想
0804801
NGNGあいや、失礼。そもそもは、
(たとえば)Macのアプリのようなwindow装飾って、
どのくらいコードを書けば実現できるんだろなぁと素朴な疑問なわけです。
半透明の効果を使ったりとか、凝ったインターフェースを
Rubyで書く場合のテクニカルな方法をいろいろ参考にしたかったので…
0805デフォルトの名無しさん
NGNGそれはRubyじゃなくてGUIツールキットの実装如何
そのような機能を持ったGUIツールキットなら実現できるかと
それにGUIの半透明処理なんてRubyでやったら遅くて使い物にならない気が…
0806デフォルトの名無しさん
NGNGそこでRubyCocoaですよ。
0807デフォルトの名無しさん
NGNGそこでwxRubyですよ。
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNG0810デフォルトの名無しさん
NGNGHSP相手には言われたくないなw
0811デフォルトの名無しさん
NGNG> それにGUIの半透明処理なんてRubyでやったら遅くて使い物にならない気が…
「気が…」ではなくて、実際に凝ったことをRubyでやってみたらどうなるのか、
コードやパフォーマンスを確認したいのが >>801 さんの主張だと思われ。
0812デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNG>>808
0814デフォルトの名無しさん
NGNG0815デフォルトの名無しさん
NGNG0816デフォルトの名無しさん
NGNGウィンドウのプロパティとしてアルファ値が設定できる環境ならなおさら。
設定したらあとは環境任せで言語側の処理はないから。
Win32APIでいうと
SetWindowLong(hVimWnd, GWL_EXSTYLE,
GetWindowLong(hVimWnd, GWL_EXSTYLE) | WS_EX_LAYERED);
pSetLayeredWindowAttributes(hVimWnd, 0, gbAlpha, LWA_ALPHA);
UpdateWindow(hVimWnd);
したらあとはWindowsが勝手にやってくれる。
0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNGもう十分標準的な機能だよね?
0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNGMac版のwxRubyってどうよ?
Win版はImageとDC周りに挙動不審なところがあるよ…○| ̄|_
0824デフォルトの名無しさん
NGNGそんなに大変じゃなかったけど。
0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNGフレームになりそうな予感。
0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNGまつもと ゆきひろ (著), 日経バイト (編さん)
http://www.amazon.co.jp/exec/obidos/ASIN/4822206653/
外出ですか?
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNGまたオナニー書籍が上梓されるのか・・・紙の無駄だよ。
0832プログラミング初心者
NGNGExcelのコンポーネントをのせる
(表現がおかしいいかもしれないですけど、Excelを使いたいってことです)
ことってできますか??
できるなら、サンプルちょっと書いてみてもらえませんか?
0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNG0835デフォルトの名無しさん
NGNG人に頼りすぎ
0836デフォルトの名無しさん
NGNGできるなら、質問する前にもうちょっと調べてもらえませんか?
0837デフォルトの名無しさん
NGNGできるなら、自力で挑戦してどこまで出来たのか教えてもらえませんか?
0838デフォルトの名無しさん
NGNG0839デフォルトの名無しさん
NGNG0840デフォルトの名無しさん
NGNG> この腐ったコミュニティ
なんで?キリスト教系宗教団体じゃなかったの?
0841名メ本Ruby無職にクリティカル
NGNG0842プログラミング初心者
NGNGこれはActiveXとかいう技術を使ってるようなのですが、
ActiveXってインターネットに対応するための技術(?)のような説明が書いてあって
なぜ関係あるのかわかりません。
Excelはまた別なのかな??
OLEっていうのはわかります(つもり)が、どうも、ウィンドウに貼り付けることとは関係なく、貼り付けた後の操作に使うんですよね。
ヒントください。
0843デフォルトの名無しさん
NGNGアプリの埋め込みにはCOMというコンポーネント技術が使われている。
昔はOLE2と言われたこともある。Active Xはマーケッティング用語だな。
で、COMのコンポーネントを埋め込むには、それがCOMのコンテナである
必要があるわけだが、tcl/tkには元々そんなもの存在しない。OpTcl
というCOM拡張があるが、これがRubyから利用できるかどうかは知らん。
http://www2.cmp.uea.ac.uk/~fuzz/optcl/default.html
ていうかvruby使った方がよさそうだが。
0844デフォルトの名無しさん
NGNG0845デフォルトの名無しさん
NGNGありがとうございます。
なるほど。でも残念。ruby/tkの本が多いから、できるだけ使いたかったのですが。。
別画面で我慢するか、vrubyを検討してみます。
0846デフォルトの名無しさん
NGNGArray#index、Hash#indexより速く見つけられるメソッドとかってある?
0847デフォルトの名無しさん
NGNGデータが何なのかによるけれど、データをキーに Hash を作ってやれば
O(1) で検索できる……って、そんな話じゃない?
# データ列
data = ['foo', 'bar', .....]
h = Hash.new(false)
data.each{|element| h[element] = true}
# 'baz' がデータ列に含まれるか?
h['baz'] #=> true/false
0848デフォルトの名無しさん
NGNGHashより速い方法というのは知らない。というかないのでは。 O(1) だし。
ただし、いったん Array が出来上がっているのであれば、他の構造に変換し
てから検索するよりも、 Array#index だけの方が良い場合はあるかもしれな
い(同じデータ列に対して1回しか検索しないとか)。
0849デフォルトの名無しさん
NGNG>>847みたいな感じでHashを使うのが普通だと思うんだけど、
自作したOrderedArrayとか使ってる人っていますか?
0850デフォルトの名無しさん
NGNGputs Array.new(ARGV[0].to_i > 0 ? ARGV[0].to_i : 10){ chars[rand(chars.size)].chr }.join
0851デフォルトの名無しさん
NGNGパスワード生成?
0852デフォルトの名無しさん
NGNG普通は Set を使うんじゃないか? まあ Set は内部的には Hash で実現してるけど……。
0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNG0855846
NGNGHashのキーとして登録すれば良かったのか!
めっちゃ速くなりました。ありがとう
>データが何なのかによるけれど
画像のカラーデータです。パレットから検索してくるのにindexだとかなり時間かかるんで
これだけ速くなるなら探すためだけにHash作っても速いかも…
0856デフォルトの名無しさん
NGNGinclude VRKeyFeasible
でGUIの画面から矢印キー↑↓を読み取る方法ってあります?
def self_char(keycode, keydata)
p keycode
end
しても、矢印キーだけは無反応なんですけど…
0857デフォルトの名無しさん
NGNGhttp://www.fdiary.net/ml/ruby/msg/423
http://www.fdiary.net/ml/ruby/msg/425
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNG0860デフォルトの名無しさん
NGNG配列をハッシュに登録するのって、ループでまわさなくても、やる方法ってなかった?
0861デフォルトの名無しさん
NGNGary = %w[ alpha bravo charlie delta ]
hash = ary.inject({}) { |h,k| h[k] = 1; h }
hash['alpha'] # => 1
0862デフォルトの名無しさん
NGNGHash[*data]
コンストラクタで渡してやってもできるみたい。
0863デフォルトの名無しさん
NGNGcharイベントでは取れないんじゃない?
俺はmodule VRKeyFeasibleにkeydownイベントを追加してるよ。
require 'vr/vrhandler'
module VRKeyFeasible
def keyfeasibleinit2
addHandler(256,"keydown", MSGTYPE::ARGINTINT,nil)#WM_KEYDOWN
addHandler(260,"syskeydown", MSGTYPE::ARGINTINT,nil)#WM_SYSKEYDOWN
acceptEvents [256,260]
end
def vrinit
super
keyfeasibleinit2
end
end
これでself_keydown(keycode,keydata)が発生するはず。
いまのところ支障はないみたい。
0864デフォルトの名無しさん
NGNGどの記事? 最近雑誌も立ち読みできんからなー。
0865デフォルトの名無しさん
NGNGRuby 好きだったけど島根県と聞いて激しくがっくり・・・orz
0866デフォルトの名無しさん
NGNGなぜに?どの都道府県ならがっくりしなかったんでしょう?
0867デフォルトの名無しさん
NGNGさ い た ま?
0868デフォルトの名無しさん
NGNG> けど、Rubyって「島根発」とか「島根県内技術者が作った」ってイメージはあんまりないよな。
0870デフォルトの名無しさん
NGNG%R/[2004-10-13] (HOGE)/ # => /\[2004-10-13\] \(HOGE\)/
0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNGまさか忘れてるとか?
0873デフォルトの名無しさん
NGNG1)アキラさんが頑張りすぎ
2)matzがサボりすぎ
0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNG溜まった膿を出しているところです。
0876デフォルトの名無しさん
NGNGRegex.quoteと何が違うのか。
0877デフォルトの名無しさん
NGNGタイプ量が減るのが(゚д゚)ウマーという話だと思う
オレも Regexp.compile(Regexp.quote(str)) とか
/#{Regexp.quote(str)}/ とか書くのがウザイと思うことがよくある。
ていうか 1.9 になったすぐ後あたりで、
「/#{str}/ で自動的に quote しよう」とかいう話が出てたような気がしたけど、
その後どうなったっけ。
0878デフォルトの名無しさん
NGNG忘れられてる。
0879デフォルトの名無しさん
NGNGたしかにRegexp.quoteの省略記法は欲しいね。
0880デフォルトの名無しさん
NGNGそれ便利そうだな。
0881デフォルトの名無しさん
NGNG>>863に書いてあるような、
keydownやMSGTYPE::ARGINITINTなどという言葉は、どこで調べればいいのでしょうか?
マイクロソフトのプログラミングの本を買ったりしないといけないでしょうか?
>addHandler(256,"keydown", MSGTYPE::ARGINTINT,nil)#WM_KEYDOWN
0882デフォルトの名無しさん
NGNGけど、Rubyって「日本発」とか「日本国内技術者が作った」ってイメージはあんまりないよな。
0883デフォルトの名無しさん
NGNG嫌窓厨多いし
0884デフォルトの名無しさん
NGNGTRONマンセーな香具師ばっかなら国産臭いけどなw
0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNG世界標準を目指しているにしてはさっぱりな気がするが…
このままじゃ増大するコンピューティングパワーとオープンソースOSに押されて
永久に一部で細々の日陰物になりそう
0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNGこういうのがやりたいのですが、スマートな方法はあるでしょうか?
(1..2 + 4..5).each { |i| p i }
0891デフォルトの名無しさん
NGNGRange から Array にするとか。
((1..2).to_a + (4..5).to_a).each{|i| p i}
0892デフォルトの名無しさん
NGNG標準では連結する機能がないのでは?
とりあえずこうすれば実現できますが、スマートではありませんね。
((1..2).to_a + (4..5).to_a).each { |i| p i }
0893デフォルトの名無しさん
NGNG0894デフォルトの名無しさん
NGNG考えてみたら、Range を連結したものは Range といえるか微妙な気もしてきました。
やっぱり挙げていただいたように Array として開くのがいいかなあ。
範囲がでかくて Array が巨大になりそうだったら素直にこうするしかないか。
[1..2, 4..5].each { |r| r.each { |i| p i } }
0895デフォルトの名無しさん
NGNGそれは範囲とは呼べん罠。
>>890が欲しいものは単なる数列が詰まった配列みたいだし。
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGそんなに違和感ないし。
Rangesクラス作って894の方式でeachするeach作ればいいんでないの。
まあ、基本的には単なる配列なんだけど。
何を親クラスにするか微妙だが。
Rangeか?
0898デフォルトの名無しさん
NGNGそれらの中の最小値と最大値から構成されるRangeを返す、
ってのが自然だと思う。
0899sai10sight ◆m7YeytgDFE
NGNG試しにArrayのメソッドとして書いてみました。こんな感じ?
class Array
def each_range
self.each do | range |
if range.respond_to?( 'each' )
range.each { | value | yield value }
else
yield range
end
end
end
end
[ 1..2, 4..5 ].each_range { | i | p i }
0900sai10sight ◆m7YeytgDFE
NGNG0901デフォルトの名無しさん
NGNG私はどちらも不自然な気がしていて、 >>895 さんの指摘が正しいように思います。
確かに RangeSet クラスみたいなのを作るという手もあるかと思いますが、
その場合も親クラスは無いんじゃないでしょうか。
ちなみに、そもそも元々何をやろうと思っていたかというと、
Shift_JIS の文字の表を作ろうと思っていたのでした。
[0x81..0x9F, 0xE0..0xEF].each { |r1|
r1.each { |c1|
[0x40..0x7E, 0x80..0xFC].each { |r2|
r2.each { |c2|
print [c1, c2].pack("c*")
}
}
}
}
0902デフォルトの名無しさん
NGNGやっぱり何度みても汚ないコードだね
0903sai10sight ◆m7YeytgDFE
NGNGあぁっ。申し訳ない。
もし良かったら、改善すべき点を指摘していただけます?
0904デフォルトの名無しさん
NGNG考えた方が良い気がする。たとえば、
[1..5, 3..7]
これに対しては each すると、 1..7 としてふるまってくれる方が自然な気が
する。一方、抜けに対しては抜けを対処したい。
Array で良いので、
def range_set(*rary)
rary.map{ |e| e.to_a }.flatten.uniq.sort
end
とか。
0905デフォルトの名無しさん
NGNGネットとvrubyのソースとにらめっこでも何とかなるとは思うけど
勉強するならwin32api関係じゃないかな。
>881が挙げた例だとkeydownというのはself_keydownみたいに
定義するための名称だからwindowsとは関係なく、
256=WM_KEYDOWNというメッセージが重要。メッセージは
WM_xxxxみたいな名前がついてる。
MSGTYPE::ARGINTINTはvrubyで定義している。これはkeydown
メソッドが2つのINT型の引数を持つことをあらわしているのだけど
なぜこんなトリックが必要かというとメッセージはwparamとlparam
の2つの引数しか取れないから、それをどう展開するかを示す必要が
あるから。
0906デフォルトの名無しさん
NGNGどの関数が使えますでしょうか?
class UserForm < VRForm
end
一応self.visible = false
とかは試してみたんですけど、うまくいきませんでした。
0907881
NGNGありがとうございます。
なんか難しいですね(^^;)
GUIプログラムをいきなりvrubyではじめるのは厳しいのかも。
0908デフォルトの名無しさん
NGNGについて教えていただけませんか。
visual basicのkeydownプロシージャでは引数keyの内容を
検査して、入力をはじきたい文字だったら
key=0
とすればキー入力を捨てることができるんですが、
vrubyではどうすればよいでしょう?
私自身イベントまわりをいろいろ調べてvrubyに直接こういう
処理はないと思いましたので、APIで何とかしようと考えました。
PeekMessageでメッセージを消せるらしいところまでは
わかったのですが、これに与えるMsg構造体の中身が
コンプリートできません。Swin::Msgにはtimeとpointapiが
ないんですorz
なんとかいい方法はないものでしょうか?
0909デフォルトの名無しさん
NGNG難しいつうか…
どっちみちCUIと比べるとGUIはめんどくさいと思う。
あと、GUIプログラミングの知識も必要かと。イベントとかの概念はここから来ているので…
Windowsで使われているイベント名とかならMSのサイトにあるMSDNライブラリで調べられるかと
0910デフォルトの名無しさん
NGNGGUI実装 は Ruby を捨てて Python を選択するのが自然だろう?
0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNG馬鹿の分際で朝っぱらから粘着乙
0913デフォルトの名無しさん
NGNG信者の最後の抵抗乙
0914デフォルトの名無しさん
NGNGなぜTcl/Tkを使わないのか理解に苦しむ。
Tk使うならTclを選択するのが自然だろう?
0915デフォルトの名無しさん
NGNGPython の方が書き易いから。
0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNG作ったのをどっかに公開して下さいよ。
やっぱ人が書いたものが参考になるので。
0918デフォルトの名無しさん
NGNG0919vruby入門
NGNG↓こういうのって、うまく使えません??
http://www.vector.co.jp/soft/win95/prog/se267009.html
Rubyから使いたいんですが、誰かうまいコントロール(?)作ってください。
0920sai10sight ◆m7YeytgDFE
NGNG本家(?)のサンプルにVREditのキー入力を検出する例はあるんですが、
その入力を無かったことにする方法はわかりません...。
VRKeyFeasibleの応用でどうにかできないかな?
http://vruby.sourceforge.net/samples.html#events
0921デフォルトの名無しさん
NGNGCOMのコントロールなんだからWin32OLE使えばよいのでは。
0922デフォルトの名無しさん
NGNGself.show 6
6はSW_MINIMIZE
WindowsAPIのShowWindowで調べてみて。
0923デフォルトの名無しさん
NGNGinclude VRMessageHandler
WM_COMMAND= (0x00000111)
def self_hook_window_messages(msg)
=begin
File.open('/cygdrive/c/tmp/hook_window_messages.log', 'a+b') {|f|
f.printf("hWnd:%08X, msg:%08X, wP:%08X, lP:%08X, retval:%08X\n",
msg.hWnd, msg.msg, msg.wParam, msg.lParam, msg.retval)
}
=end
returnnil
end
def msghandler(msg)
if(!self_hook_window_messages(msg))
super
end
end
end
0924vruby入門
NGNG多分、僕の書いたことに対して、vrubyだけでできるということなんだと思うんですが、
表示される、内容の意味が全くわかりません。
だれか解説お願いします。ちょっと教えてもらえれば、あとは自分でしらべるので。お願いします。
printf("hWnd:%08X, msg:%08X, wP:%08X, lP:%08X, retval:%08X\n",
msg.hWnd, msg.msg, msg.wParam, msg.lParam, msg.retval)
0925デフォルトの名無しさん
NGNG"ウインドウメッセージ"で検索、かな?
C/C++でWindowsアプリ作ったことないとWindowsでGUIやるのは無理だと思う。
0926vruby入門
NGNG_∧∧__ / ̄ ̄ ̄
|( ゚'ω゚)| < 寝る!
|\⌒~\ \___
\ |⌒⌒|
0927デフォルトの名無しさん
NGNGwxRubyならWindowsのこと知らんでもいけるぞ、たぶん。
0928デフォルトの名無しさん
NGNGでもWindowなアプリを作るために必要な概念くらいはわかっていないと難しいと思うぞ。
あとwxRubyはあちこち挙動不審ぽいのでお勧めしない
0929デフォルトの名無しさん
NGNG>>294 だった人である漏れって負け組か orz
0930デフォルトの名無しさん
NGNGGUIのボタンを押してしまうと、そのボタンに操作がキャプチャされてしまい、たとえば、
def self_keydown(keycode,keydata)
end
が効かなくなってしまうのですが、何か良い対処法はないでしょうか?
0931デフォルトの名無しさん
NGNG最前面表示にしたいのですが、self.top trueでは無理なのでしょうか?
def self_traylbuttonup(iconid)
self.show 9
self.top true
end
0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNG0934デフォルトの名無しさん
NGNG0935デフォルトの名無しさん
NGNGWin32OLEと.NETのCOMサポートの連携でなんとかなるんかな? どうなんだろ。
0936デフォルトの名無しさん
NGNGスレの前の方で出ていた.NET bridgeを使う。
0937デフォルトの名無しさん
NGNGRuby/gtk2 を調べててここにたどり着いたけど、いきなり >>929 を読んでしもた。
かなり引けた…が、もう少し調べてみるか…。
0938デフォルトの名無しさん
NGNG908です。自己解決しました。
PeekMessageを呼んでメッセージを消すことができました。
timeとpointapiは0でも動いたようです。
vrubyにもちょっと改造を加える必要がありました。
といってもmsghandlerで受け取るmsgを自前の
変数にコピーしておくだけですが。
しばらくこれで様子をみてみます。
0939デフォルトの名無しさん
NGNGかなりトホホだと思うんだけど……
0940デフォルトの名無しさん
NGNGHTMLHelp版を使うってのはどうよ
0941デフォルトの名無しさん
NGNGhttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/21447
↑なんかが関係しているみたいですが、Rubyの問題なのか、自分の環境で何か
不備がある(インストールで足りないものがある etc)のかどっちなんですか?
gcc -g -O2 -I. -I. -c parse.c
parse.y: 関数 `parser_yylex' 内:
parse.y:6362: 警告: 代入により、キャストなしで整数からポインタを作りました
parse.y:6365: error: dereferencing pointer to incomplete type
parse.y:6367: error: dereferencing pointer to incomplete type
parse.y:6369: error: dereferencing pointer to incomplete type
parse.y:6378: error: dereferencing pointer to incomplete type
parse.y:6380: error: dereferencing pointer to incomplete type
parse.y:6380: error: dereferencing pointer to incomplete type
parse.y:6382: error: dereferencing pointer to incomplete type
make: *** [parse.o] エラー 1
0942デフォルトの名無しさん
NGNG* 巻頭言
* Rubyist Hotlinks 第 2 回 前田修吾さん
* Ruby ではじめるプログラミング
* Apollo な日々 -- Windows で Ruby を始める
* WEBrickでプロキシサーバを作って遊ぶ
* Nora チュートリアル 第 2 回
* Ruby Library Report 第 1 回 IoC コンテナ
* rpm を Ruby でいじる
* ちょっと特異な特異メソッド入門
* Ruby の落とし方
* オープンソースカンファレンス 2004 Ruby BoF 参加レポート
* Ruby Conference 2004 レポート
* 動物無宿
* RubyEventCheck
0943デフォルトの名無しさん
NGNG0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNGホントだワロタw
1号の写真はイジメだよなあれじゃ。
0947デフォルトの名無しさん
NGNG0948MoonWolf ◆Hhaz8D6rR.
NGNG0949デフォルトの名無しさん
NGNG今回のApolloみたいな、まじめな記事でなくて、
ほんと適当な説明でいいから、
応用の効くような話を。
0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG川俣さんと比べるとどっちがイケメンなんだろう?
http://www.atmarkit.co.jp/fdotnet/opinion/kawamata/2001_02.html
0952sai10sight ◆m7YeytgDFE
NGNGちゃんと動いてますよ。ぜひ確かめてください。
不具合が全く無いという訳ではありませんが、
実用に差し支えるようなものは極めて稀でしょう。
その場合でもMLで報告すれば対応は早いようですし。
0953デフォルトの名無しさん
NGNG0954デフォルトの名無しさん
NGNGイケメン?・・・・イケ・・・・メン?
アヒャヒャヒャヒャヒャーーーー
0955デフォルトの名無しさん
NGNG0956デフォルトの名無しさん
NGNGインターネット上で叩かれるのみならず、市販の書籍でも
「私(監修者)はPerlがダイキライなので、この章はとばして読んでください。」
なんて言われる始末ぷぷぷ。
別の本では「Perlなど触りたくもないのですが、仕方がなく」と嫌々ながらwwwwwwwwwwwwwww
「もっとも、世界中のPerlプログラムなど、どれも皆単なる偶然で動いているだけなのでしょうから、
その意味で典型的なPerlプログラムと言えますが(わらい)」とか書かれたり。
ちなみに、残念ながら捏造でも何でもないwwwwww
ぷぷぷ。
ぷぷぷぷぷ。
Rubyやってて良かったよ。お前らと一緒にされるのはごめんだ。
汚らしいゴミperlerめ。プログラマ板から出ていくまでお前らを叩き続けてやるからな。
汚らしい。
糞虫。
嫌な気分になってくれれば幸いだ。俺はそれを望んでいる。
ゴキブリに感情があるのか知らんが。
0957デフォルトの名無しさん
NGNGCPANの二番煎じのような活動をして嬉しいの?
0958デフォルトの名無しさん
NGNG回りくどいruby叩き乙。
>>957
はいはい、そうですね。
それでいいから、もう自演とか粘着は止めてね。
0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG最後にSKIP_DEFAULTHANDLERを置くらしい。
def edit1_char(ansi,keydata)
messageBox "入力しました[#{ansi.chr}]",self.caption,0
SKIP_DEFAULTHANDLER
end
0961デフォルトの名無しさん
NGNGキミの人生にとってRubyが悪さをしているようなら、まつもと氏に
苦情を言ってみたら?
特に問題ないのであれば、放っておいてくれないかい?
それもできないくらいにキミは「痛い」のかな?
0962デフォルトの名無しさん
NGNGむちゃむちゃ助かりました。ありが�d
0963デフォルトの名無しさん
NGNG基地害rubyist騙りもよく飽きないもんだw
たまには別の歌を歌え。
0964デフォルトの名無しさん
NGNGおまいはこれでも読んでHSP信者に改宗すべし。
http://research.microsoft.com/~emeijer/Papers/HSP.pdf
0965デフォルトの名無しさん
NGNG畑が違うのだから、誘わても誰も改宗などしないだろ。
逆に、誘われなくても必要があれば使うだろうし。
0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG間違いない。
0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNGそれでいてコミュニティは排他的。
0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG>>964
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNGhttp://jp.rubyist.net/magazine/?0002-WCNewsPaper#l7
を読んで、
「オブジェクト指向言語ってすごく不自然なプログラミングをさせるんだな。
こんなの初心者に向いてるか?」
と思った。オブジェクト指向を勧める人の意見を聞いてみたい。
題材は、七並べみたいなもので、
二つのカードが隣り合わせに置けるかどうか判定する、というもの。
普通は(OOPに染まってない初心者がいれば意見歓迎)
「トランプは…数字のカードとジョーカーがあるんだよな」
と考えるのではないかと思うのだけど、筆者は、
トランプの数字カードをCardクラス(基底クラス)にして、
そのメソッドとして数字カード用の判定する関数を実装し、
その上で、
Jokerを特異メソッド(Ruby)か継承(Java)でそのメソッドをオーバーライド
することで表現してる。
疑問:
なんでいわゆる「トランプ」そのものじゃなくて
「七並べ用のカード」なんてものを定義しようと思うんだろう?
それに、他のゲームに流用できなくなってしまってる。
Jokerが数字カードの一種っておかしくない?
トランプには数字カード*と*Jokerとがあるんだと思うんだけど。
0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNGマルチすんなボケが
http://pc5.2ch.net/test/read.cgi/tech/1092932484/494-
0979デフォルトの名無しさん
NGNGそもそも説明してる人が特異なんだから仕方がない。
とかいいつつファンですけどw
>>978
そのスレも相当痛いな。
0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNGRubyでこんなことが出来るよ、
じゃなくてムリヤリRubyで実現しますた!って感じ。
0982デフォルトの名無しさん
NGNGRuby関係の文章って痛すぎるんですが
0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG元ネタはLispだよ
0986デフォルトの名無しさん
NGNG>Ruby になるような気がしています。
何がなにやらわからない。
0987デフォルトの名無しさん
NGNG984みたいなキチガイは希望を見失った負け犬。
Rubyを信じたはいいが暗礁に乗り上げ裏切られたことに気付きながらも
自分を認めようとせず前に進む事を辞めた亡者。
だから叫ぶ。
Ruby最高
と。
0988Ruby!!!!!!!!!!!!!!
NGNG,.-'''"-─ `ー, ,--─'''''''''''i ,-、,, /、 ヽ
,.-,/ /;i /::::::::::::::::::::::! |,, \ |・ |―-、 |
( ,' i;;;;;| i:::::::::::::::::::::;ノ ヽ-、,,/''ー''' 7 q -´ 二 ヽ |
`''| |;;;;;;i |:::::::::::::::::::::} ``ー'' "ノ_ ー | |
! '、;;;/ '、:::::::::::::::::::i \. ̄` | /
'、 `-=''''フ'ー''' ヽ、::::::::::/ヽ、-─-、,,-'''ヽ O===== |
\_/ ヽ--く _,,,..--┴-、 ヽ / |
``" \> ___ / / |
\〜〜|=◯_ノ |
0989デフォルトの名無しさん
NGNGRuby最高と言って誰もとがめない場所は匿名のここしかないからね。
0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG”Ruby!!!!!”
は今まで信じていたRubyに裏切られた瞬間を言葉に表現したものだ。
信じられないものを見た、その憎しみが込められている。
正確には
”なんてこった、Ruby!!!!!”
かもしれない。
0992デフォルトの名無しさん
NGNGイ从、从从从从从ll|| |リ从////ノノ彡;j
jl从从从从;;;;;;;;;;;;从;;;;;/;;;;;;;;;、、、;;-ー、イ彡:}
(ミミ;;ッ''"゙ ̄ '、::::゙`゙''ー、/"´::: :::: |;;;;;彡|
}ミミ;;;} ::: {:: ゙:::::、::: :::ィ ,,:::: };;;;イ;;l
jミミ;;;;} ::: ヽ::::ミヽ:: | ノ W:: |;;;;彡:|
}ミ;;;;;;} ::: ヾ {:::::ミ ヽ j イ|从 ":::: };;;;;;彡{
iミ゙;;;ノ:::::: \'、 }}: l||イ /,ィ;;、、-ーーヾ'ァ;;イ、
{;;;;リ:レ彡"三三ミヽ,,リ{{,,ノ;;;;ィ≦==ミ'" |;;〉l.|
l"';;;l ゙'''<<~(::) >>::)-ら::ィ'ー゙-゙,,彡゙ .:|;l"lリ
|l ';;', ::: ー` ̄:::::::ミ}゙'~}彡ィ""´ .:::lリノ/
l'、〈;', ::: :::::::t、,j iノ:::、::.. ..::::lー'/
,、,,,/| ヽヽ,,', ::.、 :::::(゙゙( ),、)、ヽ::. イ ::::l_ノ
)ヽ"´ ''''"レl_ヽ,,,', ヾ'ー、:::;r'"`' ゙'';;"" ゙l| ::j ::: |: l,,,,
゙''(,l ', l| リ {"ィr''''' ーー''ijツヽ l| :" l |',`ヽ,
き 利 (l :'、 `',. 'l| |;;゙゙゙゙"""´ー、;;| ノ: / /リヽ \
. く い Z::::ヽ '、 ゙'t;ヽ ` ´ ノ;;リ ,r' // |
な. た >; :::ヽ ::ヽミニニニ彡'" , ':::::// |
┃ ふ フヽ ::\ : ミー―― "ノ , ':::: //: |
┃ う }ヽヽ :::::\::( ̄ ̄ ̄ /:::://: |
┃ な }| ヽヽ :::::`'-、竺;;ニィ':::// | l
// 口 (: | ヽ ヽ :::: ::::::... ::// | |
) ・・. を ( | ヽ ヽ:: ::::::... // リ. |
つ、 r、{ | ヽ ヽ // / |
ヽ '´ | ヽ ヽ // / |
0993デフォルトの名無しさん
NGNG”Ruby!!!!!”
は憎しみの攻撃的な意思表現として使われる。
正確には
”Rubyぶっ殺す!!!!!”
である。
0994デフォルトの名無しさん
NGNG988の様な例はスクリプトのテストでない場合が多く、
書き込みの意図が表面化しそうになると、
その憎しみがそのまま荒らしと化す。
だから我々は、放置しなければならない。
放置こそ最善の策だった。
うっかりしてた。
0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG病気は眠るだけでは治らない。
体力は回復するだろうが、
薬や切除で患部を取り除かなければ、いずれ再発する。
これはRubyが抱えた不治の病かもしれない。
0997デフォルトの名無しさん
NGNG今や無関係なスレにまで侵食し、
プログラム板の被害は甚大である。
0998デフォルトの名無しさん
NGNGなぜだろうか。
それはRubyのコミュニティ自体が病的であったからだろう。
0999デフォルトの名無しさん
NGNGその病に冒されがちであり、もはや感染源を完全に絶つことは困難と言っていい。
1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。