オブジェクト指向スクリプト言語Ruby part2
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNGRubyでもどうよ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=965986588
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG2chの全板にRubyマンセースレ建ててもイイ!
0006デフォルトの名無しさん
NGNGhttp://www.users.yun.co.jp/~moriq/apollo/index.html
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/index.html
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG激しく感謝。
Windowsにごっつ冷たい、ゆーて聞ーててんけど、サポートしてるがな
あるやん、できるやん、全板にRubyマンセースレ建てなかんやん(藁
0009しんでくださ>1
NGNGゴォー / 冫、)
ー / ` /
ー / /
ー @─@
0010デフォルトの名無しさん
NGNG前スレ読めばわかるが。
0011デフォルトの名無しさん
NGNG「作者が」冷たくても他の人がなんとかしたりするし。
#そういう意味では「サポート」とはちょと違うかな。
まぁ、それが良いことだとも言えるし、
逆に作者の冷たさが際立つとも言うし(笑)。
ま、作者に遠慮なんかせずに使ったり中身いじったり
すりゃ良いわけで。
#こういう場合の遠慮度はやっぱり日本人は強いんだろうな…
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGはけ口になるのは妥当な所とは言え、確かに進歩がないねえ。
質問スレの方が結果をまとめてフィードバックしやすくていいかもね。
0015デフォルトの名無しさん
NGNGここほど本音が聞ける場所はないよ。
0016デフォルトの名無しさん
NGNGノイズの海と呼ばれていても、一方で
ある一定濃度(笑)の真理は存在するみたいだ。
そういう意見が非生産的かどうかは、
場合によっては書き手じゃなくて読み手の解釈次第で
色々変化したりもする…
0017デフォルトの名無しさん
NGNGなにがいいてーんだ、てめーわ(笑
0018デフォルトの名無しさん
NGNGそれはそうかもしれない。俺が危惧したのは、既出の不満の繰り返しで場が
不毛になっていき、それが形となってフィードバックされることなく無視
されていくことなんだ。誰しも、問題は解決したい。不満は解消したい。
でも、誰かがやってくれるまで無為に待っていたんじゃしょうがない。
皮肉なことだけど、ここ(2ch)に書かれた素晴らしい問題提起よりも、MLなどに
投稿されるたわいのない要望や質問の方が、ずっと早く結果が返ってくる。
現実を動かすには、まず不満を消化して実行しやすい形に変える必要がある。
そして、やる人のモチベーションを揺り動かす必要がある。それには、具体的に
小さいことからフィードバックして行くのがいちばんだということを前に言った。
コツコツというよりは、チクチクという感じでやるのがいい。
「もうたくさんだ」と思わせるくらいになれば大成功だ。次からは、作者自らが
文句の来ないように気を回すようになってくれるかもしれない。あるいは、
質の高いフィードバックを繰り返したと判断されたときは、権限を与えて自由に
いじれるようにしてくれるだろう。
一般的な言い方で「作者のみなさん、もっとドキュメントを充実させてください」
などと言うのも、決して悪いことじゃない。でも、人というのは身勝手なもので、
「とりあえず今回は」「俺はドキュメント苦手だから」「サンプルをつけたから」
「本書いたから」で済ませてしまうものだ。でも、「ここをこうしてくれ」なら
対応しやすい。
もし、すでにやっているけどあまり反応がないということなら、上の御託は
気にしないでくれ。そういう場合は、みんなで事例を集めてどうすればいいか
考えよう。
不満は発散することも生理的には大事だけど、できれば解消していきたいよね。
0019>18
NGNG0020デフォルトの名無しさん
NGNG見えてないのは改行だけなので、上の「ここ」を押す必要はありません。
0021デフォルトの名無しさん
NGNGすげー頻度でここチェックしてるんだな。それともタイミングがいいだけ?(笑)
0022デフォルトの名無しさん
NGNG二三行で書くと、煽り口調になると思う
0023デフォルトの名無しさん
NGNGそれが2ちゃん。(藁
0024デフォルトの名無しさん
NGNGでも、Rubyに関わる人ならみんな漠然と思っている範囲の不満しか出てないのがあれだなあ。
0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG今Apollo使っているよ。でもC++Builderしかもっていないから
足りないコンポーネントの追加が出来ない。
Delphiも入れるか。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG>C#やVB.NETのラインタイムを移植することで得られるし、
ウソくさいぞ。
002928
NGNG0030デフォルトの名無しさん
NGNGhttp://www.ogis-ri.co.jp/otc/objday2001/
0031デフォルトの名無しさん
NGNGRubyのおじさんの話だけは聞いてみたいなぁ。というか会社休んで絶対行く。
0032デフォルトの名無しさん
NGNG"ruby: cannot open temporary file: /tmp/d:\home\htdocs\public_html\test.rhtml"
とか出やがる。
訳分からんから、取り敢えず氏ね!
0033デフォルトの名無しさん
NGNGうむ、Windows系OSで、サクッと使えないことがある、
というのがびみょーにストレスたまるんだよね。
だから、俺はWindowsでは使わない。
UNIXではバリバリ使ってるけど。
0034デフォルトの名無しさん
NGNGPHP か JSP でマターリ行きませう!
0035デフォルトの名無しさん
NGNGなんで作者とかMLとかに書かないかな。
って今から書いたらカミングアウトになるか(w。
でもディレクトリ名関係の不具合はよく起きるね。
パスの区切り文字が \ ってことはmswin32版?
cygwin版を使うと案外すんなり動いたりして。
もしくはERbを使うとか。
0036デフォルトの名無しさん
NGNG32じゃないけど。
あのMLってさ、OS依存の話題すげー出しにくいじゃん。
俺も前Windowsで〜が〜出来ませんみたいな
質問したことあるけど、勇気いったよ。
0037デフォルトの名無しさん
NGNG>>36
確かにそれはそうかもしれないと僕も思う。
それでも言わないより言った方が良いと思わない?
とりあえずココでグチを言うよりはマシでしょ。
どのみちトンチンカンな内容だったら無視されるだけだろうし(w。
0038デフォルトの名無しさん
NGNG0039>>32
NGNG0040>>36
NGNGマルチプラットフォームといっても結局プラットフォームがなきゃいけないのは
当然だし、Windowsも対象の一つなんだから別に気にする理由はないと思う。
0041デフォルトの名無しさん
NGNG0042デフォルトの名無しさん
NGNG「したいときにしてしたくないときにはしなくていい」のが理想だと思うのですが。
なんか実現する方法ないもんでしょうかねえ?
String str = "This is a string."
puts str # => This is a string.
str = "This is another string."
puts str # => This is another string.
str = 65535 # => 例外発生
みたいな。
0043デフォルトの名無しさん
NGNG偽名でいいじゃん。
0044デフォルトの名無しさん
NGNGでも、HOSTだの何だのの情報が漏れるのが嫌なんでしょう。
0045デフォルトの名無しさん
NGNG大文字ではじめて定数にすればいいんじゃないかな。
定数でも、中身は変更できるし。(String の場合は freeze() しない限り replace() 等が可能)
Numeric だと immutable だから変えられないけどね。
ちなみに、メソッドの signature をプロトタイプ宣言できるようにする拡張を
誰かがやってみたという話がこないだ ML に出ていたから、それを調べてみるといいかも。
0046デフォルトの名無しさん
NGNG現在の言語仕様ではできません。
変数はあくまでオブジェクトについた名前でしかなくて、型はないから。
0047デフォルトの名無しさん
NGNGあるクラスのプロパティに対して、それを外から変更しようとすると
必ずタイプチェックを行うようにする、とかいうならできそう。
class Hoge
attr_reader :x
def x=(x2)
raise TypeError if x2.type != String
@x=x2
end
end
h = Hoge.new()
h.x = "hogehoge" ## 問題なし
h.x = 12 ## エラー
あおきさんのamstdに入ってるmust.rbを使うともっとスマートにできる。
>>44
Guyはコードを公開してないのでは。
0048デフォルトの名無しさん
NGNGフリーのメールアドレスを偽名でとってそれを使う。
違法だろうけど…。
まっ、スーパーハカーには無意味かも知れないけどね(プッ
0049デフォルトの名無しさん
NGNGreplace を使いすぎると副作用からヤなバグを生みそうだけど。
0050デフォルトの名無しさん
NGNGRuby にも宣言はある。最初の代入が変数宣言だ。型はないけどな。
しかしそんなに型宣言したいかなあ。型の宣言ってのはコンパイラが
楽をするためにあるんで、プログラマの役には立たないよ。用途を
はっきりさせたいなら名前を適切に決めるほうがいい。
005142
NGNGやはり、既に仕様の完璧に固まった部分のソースコードに型宣言が
適用できれば、下らないミスを防げていいかな、と思ったのですが。
それと、もしそういうことができたらひょっとしてRubyコンパイラなんかも
作れるのかなあ、なんて(素人考えですみません)。
やはりこういうことをするには変数のオブジェクト化が必須なんでしょうかね。
個人的には、クラスやモジュールなどのより抽象的なオブジェクトがあるのに
変数がオブジェクトではないのはなんだか不思議な気がします。
0052デフォルトの名無しさん
NGNG型宣言があるとC++とかみたいにキャスト時に気を使ったり
するようになってしまうのだろうか…。ちょっとイヤ。
変数をオブジェクト化するという考え方がよくわかりませんが、
もし本当にそうなるとすると、変数の中の変数の中の
変数の中の…(中略)…変数の中の変数の中身は空、
なんてことも作り出せるわけですね。しかもこの場合
変数の型は変数自身というややこしい話になる。意味なし。
それはともかく、文法ではなくて、attr_*みたいに自動的に
メソッドを作って、その入り口で型をチェックする、というものなら
現実的でしょう。実用的ではないけど、目的は果たせると思います。
attr_型付accessor({:foo => String})
とかすると
def foo
@foo
end
def foo=(value)
if value.instance_of?(String)
raise(TypeError)
end
@foo = value
end
みたいなコードになるような感じ?(なんか違う気もする…)
0053デフォルトの名無しさん
NGNGしみついていると思われ。
Rubyでは「変数 = オブジェクトの名前」と理解すべきだ。「変数」を
「名前」に置き換えて考えた方が多少理解しやすくなる。
Rubyで「変数」と呼んでいるものに「変数」という用語が割り当てられて
しまっているのが間違いのもと。
0054デフォルトの名無しさん
NGNGamstd ってライブラリに入ってる property がそれっぽいですよ。
property :name, String, true, true
みたいな。(amstd は RAA にあるみたい)
0055デフォルトの名無しさん
NGNGマシンコードが生成できればいいなら別に型宣言は関係ない
すよ。実際、いまでも JIT コンパイラはあるし。
ただしまだ 1.5 向けだと思ふ。ついでにあまり速くならない。
0056かい
NGNGの実験台(言語仕様を拡張するようなたぐいの)という要素が強くなってきているかもしれない。
(Delegatorモジュールとかって、言語の一部としたほうがすっきりするように思う。)
それだったらSmalltalk(Squeak)でいいのに、とか思ってしまう今日この頃…。
0057かい
NGNGRubyのインタプリタのソースを見る限り、
メソッドルックアップの仕組みが全くチューンナップされてないのが不思議でしょうがない。
自分のクラスに無かったらスーパークラスを探すという仕組み。一番原始的で一番遅い。
0058デフォルトの名無しさん
NGNG後からスーパークラスにメソッドを追加するということもできるから、
継承した時点ですべてのメソッドを決定することはできない。
それとメソッドキャッシュがあるから、シークエンシャルに探すのは一回だけ。
0059デフォルトの名無しさん
NGNGもともとそうだと思うけど。
> (Delegatorモジュールとかって、言語の一部としたほうがすっきりするように思う。)
専用の構文を用意するということ? モジュールでも充分だと思うけどなぁ。
0060>56
NGNG0061かい
NGNGなるほど。
じゃあ実質的にほぼ静的キャッシングなんですね。
浅はかというか、早とちりでした。
>>59
べつにRubyがきらいとか、ダメとか言っているわけでは決してありません。
そこが良いところだと思うので。
#Java-HouseメンバーとRubyハッカーはかぶっているかと
0062デフォルトの名無しさん
NGNG>#Java-HouseメンバーとRubyハッカーはかぶっているかと
Java-House読んでないんで分かんないんだけど、そう?
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068LISP Schemeスレの1
NGNG0069デフォルトの名無しさん
NGNGまずはRubyで起床
0070デフォルトの名無しさん
NGNGRubyで起床って、どういうのよ?(藁
0071デフォルトの名無しさん
NGNGOn [ruby-list:27092] 今日の一言(2001-01-12)
> メソッドルックアップは遅くないよ、木山くん。
> どうせやるならボトルネックで頑張らないと。
だそうです。
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNG1. まえがき
2. 道案内
3. 設計
4. 横田わる問題
横田さん、グレたんでしょうか(wara
0074デフォルトの名無しさん
NGNG【Ruby】RubyでCGI
http://corn.2ch.net/test/read.cgi?bbs=php&key=988948655
0075デフォルトの名無しさん
NGNGここで。
RDindexっての使って、エディタからリファレンス見れるようにしようと
思ったんだけど、なぜかOptionParserのメソッドしかインデックスされ
ないんです。どうしたもんでしょう?
Kondaraのパッケージでruby入れてます。
0076デフォルトの名無しさん
NGNGraccを自分で拡張しないとだめなの?
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG* Python由来(だったっけ?)の html-parser
ftp.netlab.co.jp の contrib
* Moonwolfさん の htmlsplit
www.moonwolf.com/ruby/
* うえのさんのxmlscanについてくる htmlscan
……どこだっけ。MLのログにあるはず。
てなところですか。単なるタグパーザなら他にもいろいろある。
そういえばみんなRAAには登録してないのか。
RDindexってまだ使ったことないなあ。RDは山ほど書いてるんだけど。
0079デフォルトの名無しさん
NGNGmatz の会社はエロサイト運営請け負いで食ってるし。
0080デフォルトの名無しさん
NGNG早く 1.6.4 出ないかな。
0081デフォルトの名無しさん
NGNG0082>80
NGNG夏休みかならららら〜〜♪
008379
NGNGでもさ、「エロサイト運営用言語」だったらカタい仕事に使えないじゃん。
0084デフォルトの名無しさん
NGNG実際にどこで使われているの?
0085デフォルトの名無しさん
NGNG「yendot.com って Ruby で実装されてるの?」というのが
YARPC (Yet Another Ruby/Perl Conference) のメニューに
のってた。
0086デフォルトの名無しさん
NGNGああ、ごめん。>>83の「エロサイト」はどこなの?って質問だったんだけど。
それはともかく、あそこはずっとPythonだと思ってました。
ソース公開されてるのかな。見たいな。
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNGそれよりも、アクセスするたびに動的生成してるのが気になる。
アクセス数多そうなのに。大丈夫かな。
0089デフォルトの名無しさん
NGNGもうその手の話のはさんざん出たけど、Perlの作者がアニメオタクだろうが、
Pythonの作者が頭おかしかろうが、fetchmailの作者が詭弁師だろうが、
そんなのに関係なく使われるというのが現実の世界。
別に「俺は使わん」というのは立派な話で誰も止めないけど。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGの様にコマンド起動、標準出力を
格納ってどうやるんですか?
$systemもなさそうだし...
0092デフォルトの名無しさん
NGNG~$ cat itteyoshi.txt
omaemona.
~$ ruby -e 'p `cat itteyoshi.txt`'
"omaemona.\n"
って感じだから、`〜`の戻り値は出力結果だよ。
コマンド自体の戻り値は$?とかじゃないかな。
~$ ruby -e '`cat itteyoshi.txt`;p $?'
0
~$ ruby -e '`cat itteyosh.txt`;p $?'
cat: itteyosh.txt: No such file or directory
256
こんな感じ。
0093デフォルトの名無しさん
NGNGなんか激しく勘違いしてたらゴメンね。
ちなみに結果は文字列で返ってくるから、行単位に分けるなら
splitとかを使えば良いです。
~$ ruby -e 'p `cat itteyoshi.txt`'
"omaemona.\nomaemona.\nomaemona.\n"
~$ ruby -e 'a = `cat itteyoshi.txt`;b = a.split(/\n/);p b'
["omaemona.", "omaemona.", "omaemona."]
一瞬「あれ?split!ってないの?」って思ってしまってちょっと鬱。
0094デフォルトの名無しさん
NGNGa = `cat itteyoshi.txt`.to_a
でできてしまいます。String#each が行単位で取り出すイテレータで、 String は include Enumerable だから。
Enumerable のメソッドを活用すると以下のような感じ。
# itteyoshi の入ってる行全部
a = `cat itteyoshi.txt`.grep(/itteyoshi/)
# 空行とコメント行以外全部
a = `cat itteyoshi.txt`.reject {|line| line =~ /^ *$/ || line =~ /^ *#/}
# 行番号を付けて表示
`cat itteyoshi.txt`.each_with_index {|line,i| print "#{i+1}: " + line }
0095デフォルトの名無しさん
NGNG# 各行の改行を除いて配列化
a = `cat itteyoshi.txt`.collect {|line| line.chomp}
でも、これなら split の方が速いかも。まあ、場合によって使い分けてください。
0097デフォルトの名無しさん
NGNGruby 1.6.3 (2001-03-19) [i386-cygwin]で
a = `dir`.to_a
ってやるとcommand not found: dirってエラーが出て
a = `cmd.exe /c dir /b`.to_a
ってやるとうまくいくんだけど。前者の方法では呼べないの?
0098虹
NGNGなんじゃないの?
素直にDirクラスを使うのじゃダメなの?
0099デフォルトの名無しさん
NGNG単にバッチファイルやperlでは外部・内部の区別なく`dir`できてたんで
rubyでもやりたいなってだけなんだけどね。
0100名無しさん@Emacs
NGNGどの環境でも cmd.exe /c をつければ内部外部の区別無く使える
0101デフォルトの名無しさん
NGNGWin9x,Meではcommand.comになるので
なるべくソースには書きたくない。
環境変数いちいち見るのも面倒だし。
やっぱ処理系に埋め込んで欲しいな~
0102デフォルトの名無しさん
NGNGwin32/win32.cに内部コマンド判別関数があるよ。ということは
mswin32版なら判別してくれそう?mswin32版は使ったことが無いので
わかりません。フォロー求む。
ところで>>97はcygwin版をDOS窓で使っている、と考えて良いんですよね?
bash上ではなくて。
010397
NGNGdef cmd(arg)
`#{ENV["COMSPEC"].gsub(/\\/, "/")} /c #{arg}`
end
print cmd "dir" # <- こっちはうまくいく
# p cmd "dir" # <- ゴミが出る???
とりあえずできたが挙動がおかしい。よくわかんね〜。
>ところで>>97はcygwin版をDOS窓で使っている、と考えて良いんですよね?
です。
0104デフォルトの名無しさん
NGNG>>102
ちょっと前にruby-devでそんな話があったような気がしなくもない。
010592=93=102
NGNGp cmd("dir") で \203 とかが出るのは正しい動作。それとも
もっとでたらめな文字が出てる?
a = cmd "dir"
print a
p a
で違いを見てみるとわかると思うよ。
0106デフォルトの名無しさん
NGNGRubyで強引に読むことは出来ますか?
require "hoge.o"
みたいな感じで。
0107デフォルトの名無しさん
NGNG読んで、それで「なにを」したいの?
目的はナニ?
rubyを暴走させたいという目的ならば(w)「出来る」かもだけど。
rubyにさせたいことをrubyに判るフォーマットで与える、
というもんだろ。それ以外の任意のファイルを読ませても
どーにもならんのは自明だろうに。
あるいは.oファイルを理解する能力をrubyに与えるか、だな。
でも、そこまでする理由は普通無いな。
.so作れよ。おわり。
rubyに読ませるってことはhogehoge_init()とかまでを
既にC(?)のソースには書いてあるんだろうけど、
#そうでないなら厨房
だったらあと一歩、.so(.slかどうかはさておき)を
作るところまでを勉強すれば、済むことじゃないのか?
ついでに言えばextconf.rbがほぼ全部の手間を肩代わり
してくれるので勉強すら要らないがな。
それともrubyと関係ないスタイルで書かれたCを
makeして.oが得られた、という状態なのか?
ならばもう1つCソース書いてhogehoge_init()を作って
hoge.oのお望みの機能をラップしろよ。
#どの機能をラップしたいのかを自分で判断できない厨房は論外
そうすりゃ後はextconfの助けを借りて.so作れるだろうから。
他を知ってるわけじゃない厨房なんで的外れかもだが、
rubyで.soを書くのは本当に楽だぜ。
まぁせいぜいREADME.ext.ja(だっけか)読め。
0108虹
NGNGまさにそのためにDirクラスが存在するのだと思いますが。
systemで外部コマンドを使って、なおかつ移植性まで求める
のはどうかと思いますが。
0109デフォルトの名無しさん
NGNG> ruby hoge.rb
とすれば動くのに
> ./hoge.rb
ではそのようなファイルやディレクトリはありませんと出ます。
何が原因なんでしょうか?
chmod755して先頭に#!/usr/bin/rubyは書いてあります
0110デフォルトの名無しさん
NGNG何かメッセージが出ない? それとも無言で終了する?
0111デフォルトの名無しさん
NGNG今回たまたまdirを例に出しただけなのでは。
0112デフォルトの名無しさん
NGNG#!/usr/bin/env ruby
0113デフォルトの名無しさん
NGNGファイルで使ってる文字コード(というか改行コード)を確認セヨ
0114109
NGNG「ファイルやディレクトリはありません」と出ます。Vineなので(笑)
>>113
ビンゴでした。
CRLFだと動かないんですね。もうちっと融通きくかと思ってました。
0115デフォルトの名無しさん
NGNGRubyに限らず、改行コードがCR+LFだとシェルスクリプトやらPerlでも
同じような現象がおきません? 私はよく間違えてアセります。
0116デフォルトの名無しさん
NGNG./hoge.rb とした場合にはシェルがスクリプトを起動させて、
その後に一行目に指定されたプログラムに処理を引き渡すような気がした。
0117デフォルトの名無しさん
NGNGようするに「融通きかないのはシェルだ」ってことだよね?
0118デフォルトの名無しさん
NGNGLinuxだとシェルじゃなくてカーネルだと思うのだが。
0119デフォルトの名無しさん
NGNGシェルだよ。
0120デフォルトの名無しさん
NGNGじゃあ、 Linux では exec* で #! ファイルを実行できないってこと?んなアホな。
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG給料日後で良かった。
0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNGソースきぼーん。
0125デフォルトの名無しさん
NGNG紅玉制覇編
こんなふうになるとは、誰もが思っていなかった。256倍がRubyの熱気に押されて巨
大化!分散オブジェクトにピアトゥピア、Delphiとの融合まで。Rubyにできないコトは
ナイ。
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3810-1.html
場外乱闘編
こんなふうになるとは、誰も思っていなかった。256倍がRubyの熱気に押されて巨大
化!CGIにRuby/Tk、Windowsメッセージだって怖くない。Rubyならなんでもアリ。
http://www.ascii.co.jp/books/detail/4-7561/4-7561-3809-8.html
0127デフォルトの名無しさん
NGNG0128デフォルトの名無しさん
NGNGpodみたいなのならある。
0129デフォルトの名無しさん
NGNGruby-talk を検索してみて。
0130デフォルトの名無しさん
NGNGhttp://www.moonwolf.com/ruby/rubydoc/
これ?
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGRuby信者っていやらしいね。(藁
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNGMLに逝って良し。
0135デフォルトの名無しさん
NGNG>CRLFだと動かないんですね。もうちっと融通きくかと思ってました。
#!/usr/bin/ruby --
ってしとけばCRLFでもおっけー。
0136デフォルトの名無しさん
NGNG「WebやMLのアーカイブを見れ、っていうんじゃ普及しないよねー。
やっぱり本がないと使えないよ」とか言われてたんだよ!(藁
pickaxe本みたくOPLで公開できればいいけど、さすがにそれは出版社
を説得するのがたいへんそう。
0137デフォルトの名無しさん
NGNGruby/GTK で、ストップウォッチもどきを作りたいと思ったら
タイマー処理がいるのだが、どう実装するの普通だろう。
スレッド使って、wait回数をカウントして書くの?
なんかもそっとエレガントな方法はありますか?
0138デフォルトの名無しさん
NGNGスレッドとsleep使って実装するといいんじゃないかな。
標準ライブラリのtimeout.rbのソース見てみそ
0139デフォルトの名無しさん
NGNGTime.now の差分をとればできるとおもふ。
Ruby/Gtk で一定時間ごとに繰り返したい処理があるなら、
Gtk.timeout_add をつかうといいかも。
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNGaliasしまくって
日本語Ruby『紅玉』
ってのを考えたんだが
予約語が置換できなくて挫折
けっこうそれっぽくなるんだけどなー
0142デフォルトの名無しさん
NGNGプリプロセッサ+evalっていう構成じゃ駄目?
0143デフォルトの名無しさん
NGNGプリプロセス許すと『なんでもあり』だから
文法の範囲内でなんとかしたかったのよ。
0144デフォルトの名無しさん
NGNG言えてる。C言語はこんなことまでできちゃうしなあ。
http://layer-8.com/sce/view_src.php3?argSrcId=94
0145デフォルトの名無しさん
NGNGというか、それって予約語の書き換えを許してもらえないからには
新言語を作ってるってのと等価であるわけだから、
プリプロセッサという実装手段を使って(141の人が)
紅玉という新言語を作った、というかたちになるんじゃないか?と
思ったです。
プリプロセッサを紅玉ユーザーに公開する(Cみたいに)のではなくて。
「なんでもあり」にするかしないかは141の人しだい。
0146デフォルトの名無しさん
NGNG誰か喚んできて。
0147141=143
NGNGいや、
>>141と>>143と>>147は同一人物です
言語仕様にプリプロセッサを持ってないRubyで
プリプロセス許しちゃったらそれこそなんでもありでしょう
perl→Rubyトランスレータなんかあったとして、
それも広義ではプリプロセッサになっちゃう。
言語仕様の限られた枠内で以下に下らなさを競うかに
芸人の本懐はあると思われ。
0148デフォルトの名無しさん
NGNG何で本家はこのデータを使わないのだ。
0149デフォルトの名無しさん
NGNG0150arton
NGNG0151デフォルトの名無しさん
NGNGご、ご本人ですか?
0152デフォルトの名無しさん
NGNGかなり売れてるという噂なんだが。
ちなみに私は過去の256倍本も全て持っていて、今回の2冊も買いました。
Windowsをまったく使ってない人は、買うのを躊躇するかもしれないけど、
Windwosを使ってる人は、買いです。
WindowsでRubyを使いたくなります。
0153デフォルトの名無しさん
NGNG使うってなにに使うの? RAA はもともと
日本語版は作らないことになってるよ。
0154デフォルトの名無しさん
NGNG紅玉征覇編の Apollo が結構おもろかった。
あれは Linux + kylix でも動くらしいよ。
Win でも Linux でもぺとりこんぽ!
0155デフォルトの名無しさん
NGNGそりゃまた賢いことで。(萎
0156デフォルトの名無しさん
NGNGRAA 新しくするみたいだね。
全部が一つのテーブルに入っている今の最悪なレイアウトが
どうにかなってくれれば文句はない。
0157デフォルトの名無しさん
NGNG2ch編ってどんなんだよ(藁
0158デフォルトの名無しさん
NGNG無難な線では、
ブラウザやログ解析・変換ツール作ったり、ロゴ作ったりとか。
後はスレでの議論を(まとめられるものなら)まとめて掲載。
ついでにMLじゃ言えないような毒舌座談会。
つーか編集者の人に声をかければできないこともないような気がする。
月に一冊なんて豪快なことを言ってるくらいだから変なのが一冊あっても大丈夫だろう。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG>RAA はもともと
>日本語版は作らないことになってるよ。
あ、そりゃ知らなかったよ、マジで。
ちょっと前までRAAにはJapaneseとEnglishの切り替えのリンクが
あったでそ。だから、日本語バージョンも作るのかと思ってた。
0161デフォルトの名無しさん
NGNGあんだけ更新が頻繁なものは、日本語版作るとしたらメンテが大変だからね〜。
英語版だけで困るっていうひともそれほど多くはないし。
0162デフォルトの名無しさん
NGNG[ruby-list:19484] のまつもとさんの投稿より
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~poffice/mail/ruby-list/19484
> 前に述べた通り英語版しかありません。やはり国際化の時代だか
> ら、説明も英語でお願いします。
強制は方法としては美しくないけど、
日本ローカルで終らせなくするためにはしょうがないでせう。
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG日本語が書ける人は日本語と英語、そうでない人は英語のみ、
という感じ?じゃないと日本語の説明しか書かない人が多数の
ような気がします。
RAAへの登録自体は十分機能していると思います。実際
各項目から日本語解説ページへのリンクが這ってあったりするから
RAA自体に日本語は必要ないのかも。
0165デフォルトの名無しさん
NGNG俺もそれほど欲しいとは思ってなかったんだけど、256+倍本の日本語での
説明付のRAAの一覧見て、「あー、このレベルのものがWebに欲しいな」
ってとこまで変わった。
だって、知らないモノがやまほどあったから(w
0166デフォルトの名無しさん
NGNG一覧がリストなので本家よりは軽い
http://ruby.yi.org/raa/ja/
0167デフォルトの名無しさん
NGNGまつもと氏はライセンスに関して深く考えたくないみたいだが。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/29941
0168デフォルトの名無しさん
NGNGGPLの下に置きたいのならGPLをそのまま添付するだけじゃだめなのか?
0169a
NGNG言語処理系はGPLにしてはいけないものの筆頭だよ。
(他にはアルゴリズム・プロトコルの参照実装等)
何にでも組み込めるのでなかったら価値が半減してしまう。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNG全部GNU製だから当たり前じゃん。
0172デフォルトの名無しさん
NGNGREADME.jpによればGPLとのdual licenseらしいが。
何がおかしいのかよく分からん。
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNGスクリプト言語の処理系を組み込むのは良くやるが、
コンパイラを組み込みにすることはたぶんないと思う。
ストールマンもgccで作成したバイナリは
すべからくGPLにせよとまで無茶なことは言ってないよ。
0175デフォルトの名無しさん
NGNG>すべからくGPLにせよとまで無茶なことは言ってないよ。
バイナリがgccで作られたにもかかわらず、そのソースを手に入れられないと言
うこと?
0176質問君でスマソ
NGNG以下のようにしたのですが、結局格納されません。
今、手元にRuby本がないので.eachの使い方が間違っているのでしょうが、
誰かヘルプお願いします。
@gaTable.each do |tb|
tb = []
ld = @data.dup
0.upto(@data.size - 1) do |lp|
n = rand(ld.size)
tb.push(ld[n])
ld.delete_at(n)
end
p tb
end
p @gaTable
結果はこんな感じ
(...中略...)
[1, 3, 8, 6, 4, 2]
[6, 3, 8, 2, 4, 1]
[4, 6, 8, 3, 1, 2] <-各要素はしっかりランダムになっているが
[nil, nil,(......) nil, nil, nil, nil] <- gaTableには反映されない
0177デフォルトの名無しさん
NGNG0178質問君でスマソ
NGNGruby-langのマニュアルで調べたけど、発見できませんでした。
0179デフォルトの名無しさん
NGNGスマソ、上の方へのくだらない煽りだ、気にしないでくれ。
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGtb = []
が原因
0182デフォルトの名無しさん
NGNGGPLのソフトにRubyのソースコードを流用できないという意味かな?
0183デフォルトの名無しさん
NGNGmatzはrubyを「何にでも組み込む」という志向を
全然持ってないじゃん(w
unixまんせーなんだもん。
「文句あるなら自分で新しい言語作ればぁ?」調でしょ。
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNGそれはeachよりもcollect!の方がいいかも。
@gaTable.collect! do |tb|
tb = []
ld = @data.dup
0.upto(@data.size-1) do |lp|
n = rand(ld.size)
tb.push(ld[n])
ld.delete_at(n)
end
p tb
tb ##<=要素にしたいものを最後に返す
end
p @gaTable
0186デフォルトの名無しさん
NGNGはぁ?
0187デフォルトの名無しさん
NGNGGPLのプログラムを、プログラムを動作させるのに使用したプログラムはGPL。
派生・引用・共有ライブラリの使用など。
別にgccでコンパイルしなきゃならんてこともないし。
VC++でコンパイルしたらNotGPLでgccならGPLてのは変でしょ。
ライセンスどちらかというとソースの方にかかる。
と、理解が間違っている可能性大なので突っ込みきぼん。
GPLの文面って激しく読みにくいし。
>>177
PDSだと完全放棄だかんねー。たとえソースを悪用されても文句言えない。
>>182
現在Ruby本体はGPLとRubyライセンス(Artisticぽいやつ)のdualライセンス。
使う人はどちらがいいか選べる。
Rubyライセンスならソース非公開で引用・組み込みも自由、たぶん。
でも、ストールマンのいうことにゃ、Rubyライセンスは不完全なのでGPLとのdualはできんよ、と。
MLでの流れはBSDLになってるねえ。無難な線か。
0188デフォルトの名無しさん
NGNGknu氏の発言で、まつもと氏本人の弁はないが、特に否定もされてない。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/29960
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG183にレスするなよ…。
0191デフォルトの名無しさん
NGNGうーん。放置したら誤解する人もでそうだし。
しかし、MLの弁護士さんは何だか頼りない感じだな。
0192デフォルトの名無しさん
NGNG俺には荒らしかドキュンにしか見えないが。
きっと疲れてるんだな…今日は寝よう。
0193質問君でスマソ
NGNGばっちり動作しました。
ありがとうございます。
Rubyを使っていると、プログラムを組む楽しみを
再認識できると思うのは俺だけかな?(笑)
0194デフォルトの名無しさん
NGNGこいつには少々いらだちを覚えた。
MLに登場する顔文字は、うざったさが256+倍だな。
0195デフォルトの名無しさん
NGNGいと思うよ。君は糾弾することによって自分の鬱憤を晴らしているつもりだろう
けど、結果として自分にとって好ましくない流れの中に身を置くことで自分のス
トレスを増大させているはずだよ。
よってガン死
0196デフォルトの名無しさん
NGNGRubyがメジャーになってくるとこういう人も増えるんだろうなって。
JavaHouse化はしてほしくないねえ。
0197デフォルトの名無しさん
NGNGつまり、GPLで要求してることを、もう一方のライセンスの方でも
要求しないとデュアルに出来ないってことかな?
0198デフォルトの名無しさん
NGNG彼には気の毒だがおれにもそう見えるよ。司法試験っていったい‥
0199デフォルトの名無しさん
NGNGしかも日頃MLに投稿しまくっている人達ではない人達が
replyしていたのはなかなか新鮮でした。
もっと荒れるかと思ったのに平和でした。
0200デフォルトの名無しさん
NGNG同意。
顔文字を使うなとは言わないが、あの使い方はひどい。
>>196
JavaHouse化したらRuby使うのやめます。
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNGおれは思わない (思えない) なぁ。
Cの方が簡単だ。文法はね。
0203デフォルトの名無しさん
NGNG今、Cを使わなければならない状況に立たされているのですが、
辛いですよ。本当に。
特に泣けるのが、文字列の取り扱いが面倒な事でしょうね。
mallocとかfreeが面倒だと感じるのは、まぁご愛敬としても。
0204デフォルトの名無しさん
NGNG弁護士や弁理士を目指して勉強している知り合いがいるけども、
最低3年は自分の背丈ほどに積み重なる本の中で勉強しなくてはならないので、
マジで気が狂うと言ってました。
その影響が続いてるのかも。
>>203
Cも長く使っていれば、文字列処理でもメモリ処理でも
イディオムや自分なりの方法が身につくから、大して苦でなくなる。
でもRubyのStringのメソッドを使わせてくれとは良く思うけどね。
0205デフォルトの名無しさん
NGNG初登場の仕方には,一瞬唖然としてしまったよ。
まだこんなやついたんだ・・・って。
どんな環境で育ったんだろう。
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNGよく分かった。ありがとう。
しかしこんなのどうやって見つけるんだ・・・?
0209デフォルトの名無しさん
NGNGどういたしまして。
http://www.google.com/search?q=%8CF%92J%82%CC%82%60%82%8B%82%89%82%92%82%81%81%97%82q%82n%82l&btnG=Google+%8C%9F%8D%F5&hl=ja&lr=
0210デフォルトの名無しさん
NGNGウザイ
0211デフォルトの名無しさん
NGNGその辺りがいまいち分からない。
単にRuby'sライセンスはフリーソフトウェアのライセンスとして不十分だと忠告してくれただけ?
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/30001
この「フリーソフトウェア」はFSFのフリーソフトウェアなのかね?
つまりGPLコンパチでないという意味なのか、
一般的にいうフリーソフトウェアのライセンスとして不十分という意味なのか。
0212デフォルトの名無しさん
NGNGRubyのヘッダファイルの intern.h って
自動で出力させているんですよね?
それとも手書き?
0213デフォルトの名無しさん
NGNGそれは単にRubyのライセンスがFSFのフリーライセンスとはいえないし
GPLコンパチじゃないと言ってるだけだねぇ。
しかし、GPLコンパチってなんだろ?
0214デフォルトの名無しさん
NGNGというとやはり、GPLコンパチ(定義は抜きにして)なライセンスでないと
GPL と dual はできないよと言ってるのかね?
それとも今のままでも別にいいけど、
GPLコンパチなら尚よろしいと言っているのかな。
後者なら楽だけど前者なら面倒だねえ。
0215デフォルトの名無しさん
NGNGhttp://www.gnu.org/philosophy/license-list.ja.html
にある「GPL と矛盾しないフリーソフトウェアライセンス」「GPL と矛盾するフ
リーソフトウェアライセンス」あたりをを読めば分かるんじゃないか?
0216デフォルトの名無しさん
NGNGもちろん後者。
0217デフォルトの名無しさん
NGNGだったらわからない。
0218デフォルトの名無しさん
NGNGうーむ。矛盾の定義は読んでもあまりわからなかった。
ここからわかることは、Perlのライセンスは全体ではDualなので、
GPLコンパチだけど、Artisticライセンス単体はGPLコンパチでは
ないということ。
おそらく、Rubyのライセンスもこういう状態だと言いたいんだと
思う。
0219shige
NGNG0220shige
NGNG汚らしいものをこね回して汚らしいものを作り上げることしか脳がない。
溶かして石鹸にでもした方がよっぽど有益なんだよ。
いいから早く死にな。
死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死死
0221デフォルトの名無しさん
NGNG0222shige
NGNG面と向かっては文句言えないけど
場末の飲み屋のおカミの前ではクダまいちゃう
負け犬
と、同じ種族?
プププ爆笑ものですよこれは
0223デフォルトの名無しさん
NGNGここRubyスレなのに。
0224shige
NGNGそ・れ・で・も、人間続けたいんですか。
度胸ありますね。彼らって(わらい)
0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNGそうだよね。
Perl使いがいない所でPerl使いを煽ってもしょうがないよね…
0227shige
NGNG>Perl使い
どなたか、ruby使い以上にオブジェクト指向がお出来になる方、
いらっしゃるの? 実力で勝負できないから、匿名
で悔し紛れに人の中傷してるだけでしょ?オホホホ
0228shige
NGNG0229デフォルトの名無しさん
NGNG0230shige
NGNG激しく同意!
0231デフォルトの名無しさん
NGNGキミね、病院行った方がいいよ
0232デフォルトの名無しさん
NGNG0233shige
NGNG太陽が黄色いぜ。
0234>>233
NGNG0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNG233みたいなやつは見たことないぞ。
あんなのといっしょにされたらこっちが困るよ…。
正直perlは過去のものだと思ってるが、
rubyはperlにいろいろ影響を受けているんだから、
perlやperl使いを馬鹿にするのは問題外。
0237デフォルトの名無しさん
NGNG手書きだと思います。CVSのログにも時折追加した旨の記述がありますし。
ところで、自動出力と思った根拠は何ですか?
0238212
NGNG手書きなんですかぁ。
自動出力と思ったのは普通 /* bignum.c */ 等のコメントの前とか
前後に手書きだったら見やすく空行を入れる事が多いだろうし、
#ifndef xxx 〜 #endif もついてなかったので。。。
0239デフォルトの名無しさん
NGNG0240212
NGNGCのプロトタイプ宣言のいちいちヘッダファイルに書き出すのが面倒で、
自動出力だったら、その効率のいいやり方を参考にしようと思っただけ。
0241デフォルトの名無しさん
NGNGそこらへんは別に決まったことじゃありませんからね。
もっと何かはっきりしたものがあるかと思いました。
>>240
昔そういうのを見たことがありますよ。
それは、関数定義に仕掛けをしておいて、
それを見つけて抜き出すというものでした。
EXTERN void foo(char *bar)
{
}
があるとして、EXTERN がある行を見つけるとか言う簡単なもの。
実際はもっと細かいところがあると思うけどね。
こういうのの話?
0242デフォルトの名無しさん
NGNGそういうのの話。
Cに限った話だと単純に static 以外の変数と関数を
ヘッダに出すとかでもいいと思うけど、C++だとクラスや
デフォルト引数を考慮しなくちゃいけなくて結構ややこしくなってくる
ところで cproto とか cextract というプロトタイプを自動生成する
専用ツールが存在することを今ごろ知ったんだけど、これ使ってる人いるのかな?
# Rubyと話がズレてってスマソ
0243デフォルトの名無しさん
NGNG訴えられたくない。それ以外は望まない。
俺と全く同じ。GPLじゃなくて、そういう考え方が
主流になって欲しかった。
0244デフォルトの名無しさん
NGNGpreviewからreleaseまでの週末数日間が、
ライセンスだけで終わってしまったような気がしますが気のせいでしょう。
早く落ち着くと良いですね。
0245デフォルトの名無しさん
NGNGああ、C++でそういうことするやつは知りません。
これ以上はRubyに関係ないからC++関連のスレで
質問した方がより良い話が聞けると思いますよ。いや本当に。
0246デフォルトの名無しさん
NGNG>rubyはperlにいろいろ影響を受けているんだから、
>perlやperl使いを馬鹿にするのは問題外。
「ひとを馬鹿にするな!」ってのが人道上の理由からならまだ判るが、
儒教上の理由なら知らぬな。儒教自体が博物館に逝け。
技術畑で「おじいさんおばぁさんを大切にしよう!」とか言うな。
じじばばを克服する(駄目ならば批判する)ことで技術は進むんだぞ。
0248デフォルトの名無しさん
NGNG思ったのですが、5行目で
undefined method `childNodes' for nil (NameError)
と出てしまいます。
何か基本的なことで間違えているような気がするのです。
御教授ください。
require 'win32ole'
x = WIN32OLE.new("MSXML2.DOMDocument")
x.load("a.xml")
r = x.documentElement
r.childNodes.each do |n|
print n.text
end
0249デフォルトの名無しさん
NGNGメソッド名が違ってるんでしょう。
0250デフォルトの名無しさん
NGNG最初私もそれを疑ったのですが、
下のソースを実行すると,childNodesはあるんですよー。
うーむ、よくわからん。
require 'win32ole'
o = WIN32OLE.new('Msxml2.DOMDocument')
o.ole_methods.sort.each do |name|
if /childNodes/ =~ name
p name
end
end
0251248
NGNGお騒がせしてすみません。
鬱だ市脳。
0252デフォルトの名無しさん
NGNG微妙に噛み合ってないような気がするよん。
>perlやperl使いを馬鹿にするのは問題外。
ここの「馬鹿にする」は219-のような、Perlを使っている人への
罵倒/中傷レベルのことを問題にしているのであって
批判自体がタブーだと言っているわけではないと思うよん。
0253デフォルトの名無しさん
NGNG0254246
NGNGうるさい死ね。Perlは嫌いだ。
Perl使ってるヤツは死ね。つーか殺してやる
0255デフォルトの名無しさん
NGNGネタにしては面白くないな…
0256デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNGどうなんでしょうね?
激しくどうでもいいんですが・・・
0258デフォルトの名無しさん
NGNG>>254は恐らくshigeです。
詳しくはヒーロースレ参照
0259デフォルトの名無しさん
NGNGRubyの本(黄色い方)は、出版社がもう刷らないので
今出回っているので最後になる、とか言われたそうですが、
本当にそうなら、かなり普及に歯止めがかかってしまいそうですね。
0260デフォルトの名無しさん
NGNGそれであのゲス本(256倍)ばかり出るのはいたいなあ。
Pythonみたいにオライリーからきちんとした本が出ると良いのになあ。
0261デフォルトの名無しさん
NGNG中身がうすそう。
0262デフォルトの名無しさん
NGNGそれってあの形式(256倍)が嫌だって事?
内容的にはRubyとその周辺というのが揃いつつありますが、
もっと欲しい内容とか取り上げて欲しい内容って何?
僕は雑誌の連載関連を殆ど追っていないので、
そこらへんが書籍になったり、まとまった本として出たりしないかなぁ、
と思ってます。
0263デフォルトの名無しさん
NGNGバカにされる理由の一つだと思うんだけど、どうでしょう?
0264デフォルトの名無しさん
NGNG>実装が一つしかない
ってどういうことでしょう?
>バカにされる
Perlよりはましだと思いますけど(バカされる度合いが)
0265デフォルトの名無しさん
NGNGRuby本(黄色い本)は1.4ベースだから、これから相当手を入れるってこと
だと思われ。
現にRuby本の英訳版も来年2月に延期になったし。。
0266デフォルトの名無しさん
NGNGたしかに、黄色い本には
「クラス変数は無い」と
書かれているからな(wara
とりあえず、早めの出版をお願いしたいところだな。
0267shige
NGNG0268shige
NGNG0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG>shige
その調子で潰しまくれ
0272デフォルトの名無しさん
NGNG0273デフォルトの名無しさん
NGNG死ねよ。
0274デフォルトの名無しさん
NGNG「Programming Ruby」以外に
英語のRuby関連本ってない?
0275デフォルトの名無しさん
NGNGRuby本(ASCIIから出たRubyが表紙のやつ)の
英訳本が出る予定だったが、少し延期。
ruby-talk や comp.lang.ruby を読むのはどう?
0276デフォルトの名無しさん
NGNGインストールのやり方さえもわからん俺は
Rubyを使う資格がないんかのぉ。。。
0277デフォルトの名無しさん
NGNG出るらしいよ。
0278anonymous=Class.new
NGNG展開してsource2htmlをどっかPATHの通ったとこにコピー。
/usr/bin/envがないシステムなら一行目をrubyのフルパスに修正。
0279デフォルトの名無しさん
NGNGruby-talkが何だかつまらなく感じるのは漏れだけ?
0280デフォルトの名無しさん
NGNGdevやらlistやらtalkやらあるけど。
0281デフォルトの名無しさん
NGNGおもしろさで言えば talk じゃない? 妙なもんが
いっぱい出てくるよ。正直言って最近の ruby-list は
いまいちパワーに欠ける。
0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNGあきらめなさい。
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNGぷらっとRubyに来たところ、どっぷり浸かってしまったのですが、
こんな私は283とは違いますか?
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNG0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNG0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNG0304shige
NGNG0305shige
NGNG0306shige
NGNG0307shige
NGNG0308shige
NGNG0309shige
NGNG0310shige
NGNG0311shige
NGNG0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG・shige禁止
付けるか?
0315デフォルトの名無しさん
NGNGさらにいえば「shigeはruby禁止」とか。
0316デフォルトの名無しさん
NGNG@pass = get_pass_from_dokka
nil # @passが漏れないように潰す
end
戻り値がvoidなメソッドって最後にnilを付ければいいんだけど
もっと明示的に戻り値の参照を禁止する方法はない?
0317デフォルトの名無しさん
NGNGdef name
body
nil
end
procedure set_pass
@pass = get_pass_from_dokka
end
0318デフォルトの名無しさん
NGNGmacroってはじめて見たけど1.7から追加されたの?
procedureといってもどうせ何か返さなきゃいけないんだから
nilよりもselfを返すように定義しといた方が便利
0319デフォルトの名無しさん
NGNGnilを返すのじゃダメなの?
メソッドチェーンのためにはselfを返した方が便利だと思うが。
>>317 rubyにmacroはないよ。
0320316
NGNGゴミ返すのがいやor特に返すものがない
ならself返すのがrubyの慣習って事で了解です
0321デフォルトの名無しさん
NGNG0322319
NGNGそういう場合はだいたいevalを使う。
# 残念ながらNodeを直接扱うことはできない。
class Module
def procedure(func)
module_eval %{
alias _func_#{func} #{func}
def #{func}(*args); _func_#{func}(*args); nil; end
}
end
end
def procedure(func)
class << self; self; end.procedure(func)
end
############
def set_pass
@pass = get_pass_from_dokka
end
procedure :set_pass
この例だとあんまり意味ないと思うけど。
0323デフォルトの名無しさん
NGNGみなさんRubyを書くときのエディタは何を使用していますか?
ちなみに私はgvim6(Win)
6だとハイライトやら自動インデントやら、
ver5以降のctagsはRubyも対応しているやらで。
えっ?
emacsもできる?
まぁまぁ・・・
0324デフォルトの名無しさん
NGNG0325名無しさん
NGNG具体的に解説してるようなサイトとかないですか?
ってか、WIN32OLEで使用するオブジェクトの仕様やらメソッドの引数やらが
全然分からないんですけど、一体何を参考にして書くものなんですか?
もしかして、Visual Basic EditorやMicrosoft Script Editorの
オブジェクトブラウザ?
0326デフォルトの名無しさん
NGNGADOの仕様については、MSDNにGO!
0327デフォルトの名無しさん
NGNGhttp://www.jin.gr.jp/~nahi/RWiki/?cmd=view;name=Win32OLE
0328デフォルトの名無しさん
NGNGまつもとさんはemacs派らしいな。ちょっとがっかりだよ。
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNGhttp://www36.tok2.com/home/desktop/img/img20010619004321.png
0331デフォルトの名無しさん
NGNGemacs派だと、なんでがっかりなん?
0332デフォルトの名無しさん
NGNG学部の演習で作ったインタプリタかと思った。
少しはCAMLでも勉強したら?ベンチマークすると大負けしてるよ。>作者
0333デフォルトの名無しさん
NGNGでも、ってどういう意味?Bill Joy つながりで csh でしょって話?
zsh は EDITOR=vi なら vi 風キーアサインがデフォルトになる。
zsh + vi ってポピュラーな組み合わせだと思うよ。
0334デフォルトの名無しさん
NGNG煽りだな…。
Ruby interpreter 自身の source も読みやすくしているって
ことなのに…。
0335デフォルトの名無しさん
NGNGCAMLだってそんなに読みにくくないよ。
CAMを理解してないとだめだけど。
あと、Rubyでもクロージャ変換くらいやってほしい。
あまりに素朴すぎる。
0336デフォルトの名無しさん
NGNGCAML って http://caml.inria.fr/ のこと?
Ruby インタプリタの実装は
「効率と使いやすさが矛盾しる場合には躊躇無く使いやすさを選んでる」
らしいので素朴なのは仕方無いかと。
アイディアがあるなら、ruby-dev あたりでやるのがよいかと。
# と、話を公式の場に繋げようとする ;-)
0337デフォルトの名無しさん
NGNG何度も公言されているように積年の課題で、最近やっと着手しはじめたところじゃ
ないかな。
語弊があるけど、 Ruby は CAML と違って Perl などがカバーするエリア・ユーザ層に
広く実用されているものだから、なかなかインタプリタの実装自体に注力はできなかった
のだよ。
でも、 ruby-talk や ruby-dev なんかを見ると、そろそろそちらにも照準を合わせた
動きがはじまりつつあるよね。今このときのソースを捉えて言えば素朴なのは確かだけど。
0338デフォルトの名無しさん
NGNG>広く実用されているものだから、なかなかインタプリタの実装自体に注力はできなかった
ほんとに語弊が有るなぁ;->
純粋にヒューマンリソースの不足という意味ならばまぁいいけど、
ML(MailingListsのほう(藁))読んでたら、それ以上(以下?)の意味が
あるように、かなり読めたね。
「実用」って何だ?
CAMLって言語は知らぬが、CAMLとRubyの「実用」性はそんなに違うのか?
0339デフォルトの名無しさん
NGNG利用と同じ意味で使いました、実用的、非実用的の意味ではないです。
Perl みたいな泥臭い仕事に使うというニュアンスを実用と表現しただけ。
それと、「ヒューマンリソースの不足」というよりは、ユーザベースが上記の通り
なのでインタプリタの改良や書き直しという要求は比較的少なかったということが
あると思う。
たいがいの「遅い」という不満は Ruby のコードレベルでのチューニングやその他の
方法でたいがい解決できたしね。
0340デフォルトの名無しさん
NGNG俺もRubyでどうしてもパフォーマンスが改善できなかったら一部をCでさっと書いちゃうし。
0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNGCAMLにもrubyにも、それぞれ得意不得意があると思うのだが、
不公平なテストになってないのか?
テストソースあぷきぼん。
意味もなくObject作って捨ててを繰り返す奴か?
0343デフォルトの名無しさん
NGNGハハハ
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0344デフォルトの名無しさん
NGNGでもCamlは静的型付けの言語なんだから単純に比較しても
意味無いのでは?
0345デフォルトの名無しさん
NGNG未定義の「実用性」なんて持ち出して煽らないように。
0346345
NGNG局所的に見ても、末尾再帰とか部分文字列の copy-on-write とか、いくら
でも速くするネタはある。パッチも出たけど、既存の C 拡張ライブラリ
との互換性の問題で慎重になっているみたいだけど。
しかし、いよいよ 2.0 に向けて VM 化, bytecode 化という方針が出た
ことだし、その辺りの実装に興味がある人は今参加するとおもしろいと
思うよ。
0347デフォルトの名無しさん
NGNG>Perl みたいな泥臭い仕事に使うというニュアンスを実用と表現しただけ。
というか、「広く実用」ってのが、ね。
あれを広いと呼んでいいのか?
あのユーザーベースの中なら(藁)呼べるのか?
というような疑問を、ぶつけてみました。ほい。
するってーとあれかな。ボトルネックは得てして
OS側というか、そっちのほうに集中してることが
(そのユーザーベースでは)結構多かった、ということなんだろうか?
そりゃまぁファイルやネットワークよりは速かろうな。
0348デフォルトの名無しさん
NGNG(Ruby自体は悪くない)
0349デフォルトの名無しさん
NGNG前スレでがいしゅつ。
http://www.bagley.org/~doug/shootout/craps.shtml
03501
NGNGハハハ
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0351339
NGNGハハハ
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0352デフォルトの名無しさん
NGNGRubyはアマチュア級。
0353デフォルトの名無しさん
NGNGハハハ
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0354デフォルトの名無しさん
NGNGハハハ
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0355デフォルトの名無しさん
NGNGハハハ
∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0356デフォルトの名無しさん
NGNGんまぁ、それには同意するけど…。関数型言語かつ強い型強制の ML を発展させ、
さらに OO にするっていうのは、どう考えてもヲタクの所業だもんね。
おかげで、まともに code 書くのはめちゃくちゃ大変になるんだけど。
0357デフォルトの名無しさん
NGNG関数型言語はOOと相性悪いが、それは言語に慣れてないだけ。
0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNGその代わり、宣言を書く必要が無いとか、インターフェイスを作る必要が無い
とかの利点があるというのがRuby側の主張。
しかし、型があっても型推論があれば宣言はいらない。
0360デフォルトの名無しさん
NGNGhttp://piza.2ch.net/test/read.cgi?bbs=tech&key=986355498
0361デフォルトの名無しさん
NGNG何ができるかというだけで充分だから。
>>358の意味は、
使用している側では変数の型を知らない=オブジェクトの実装が分からない
ために処理系が最適化できないということ。
0362デフォルトの名無しさん
NGNGあと、キャストが必要ないというのはどう?
i.to_sなんてやったりするのは、キャストのようなものだけど。
0363デフォルトの名無しさん
NGNGそれで十分ではないとする主張が型無し言語逝って良しスレで何度も出てきてる。
0364デフォルトの名無しさん
NGNGUnitTestでカバーできないかね。
理想論的には、設計がきちんと出来ていれば、
間違ったメッセージを送ることはないはずなんだけどね。
0365デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0366ObjectiveCaml
NGNG0367デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0368ぴんぽん
NGNGなんかに使えるんかなあ
0369デフォルトの名無しさん
NGNG0370デフォルトの名無しさん
NGNG0371デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0372デフォルトの名無しさん
NGNG>まともに code 書くのはめちゃくちゃ大変になるんだけど。
Rubyはそういうのを排除しようとしているからねぇ。
でも凄いですな>ObjectCamlのおたく度
0373356
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケラ
0374名無しさん
NGNGそういうもんなの?
1MBで20秒も掛ったよ。漏れがなんか根本的に間違ってるのかなぁ。
既存のライブラリ無い?
0375デフォルトの名無しさん
NGNGそーゆーもんだとおもうよ。
CRCみたいなのは、正にCで外部ライブラリにすべき例だと思うが。
つーか、MD5ではいかんのか?
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG全くの無知だな。
法律に詳しいから知ったかぶりして難しいこと書いてるが、ライセンス
に関しては間違った事ばかりいってるな・・・
0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNG俺でも出来たんだから問題なし。
gccとかが使える環境のほうが幸せであるようだ。
俺はBSDだった。まあどうせLinuxでも同じように動いたけど。
REDME.EXT.jp落ちついて読んでみ。さくさく書けるよ。
rubyがOOP言語だからってびびる必要もゼロだし。
matz氏も言ってるがrubyは「実行が全て」だから、
Cと相性も全然悪くない。
実行の順番のことを冷静に考えればオッケー。
あとはRuby提供の幾つかのC用Macroに慣れれば文句無し。
それにしたってキテレツなマクロはあんまり無いみたいだし。
0381デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ キエロ カイセンキッテクビモキレ ケ
0382デフォルトの名無しさん
NGNG読んだ人いる?
0383デフォルトの名無しさん
NGNGPerlなんかもそうじゃないの?
0384デフォルトの名無しさん
NGNGかなり興味ある。配布する時に絶対関係してくることだし。
正直、Rubyのライセンスってかなり怪しいじゃん?
怖くて配布できないよ。
0385デフォルトの名無しさん
NGNG今問題になっているのは、逆に緩すぎて役に立たないのではないかということだよ。
(厳密には無理だが)法的に、あるいは社会的・政治的に開発者、あるいは開発自体を守れるのか
どうかということ。
再配布者は別にライセンス(= 事実上制約なし)に従っていれば問題ないのだし。
0386385
NGNG0387デフォルトの名無しさん
NGNG前スレで話題になった。
Ruby全体のライセンスを守っても、Rubyを構成している一部分のライセンス
に違反するという話。
0388デフォルトの名無しさん
NGNG何もしょうがないことは無いよ。知らずにライセンス違反するよりは、
知っておいた方がいいだろ。
0389デフォルトの名無しさん
NGNG_ \\ _\\ _\\
// \\ // \\ // \\
// \\ // \\ // \\
// \\ // \\ // \\
// \\// \\ // \\
 ̄  ̄ ̄  ̄  ̄  ̄
/\ /\
/ \____/ \
/ /\ /\ \
| | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| \____/ | /
| \ / |< あ〜ほ〜か〜〜〜
\ ___ \/ / \
/ \ __ \ \________
| | / |
| _/ | |
\ \_ /
\ \ \
| | |
/ / /
/ \ \ //\\____//\\ /_ \\ ̄ ̄_ /_ \\ ̄ ̄_
| | || \ / |/ ̄/ ̄  ̄ ̄// ̄/ ̄  ̄ ̄/
\______/____/ \ \/ / / / / /
0390デフォルトの名無しさん
NGNGちょい興味はあるけど、begin-endがどうも気に食わない…。
といって#defineしてcpp通すのもアホらしい…。
0391デフォルトの名無しさん
NGNGどう置き換えたいわけ?
#define try begin
#define catch rescue
#define ensure finally
とか?でも catch はすでに別の意味のキーワードとして存在するしなあ。
0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNG前スレでは会社の製品にRubyを込みこもうとしたけど、ライセンス
が怪しいから諦めたという話もあったよね。
0395デフォルトの名無しさん
NGNG馴れていない会社は手を出しにくいかもね。ファイル数の多くない Ruby では、
一つ一つのファイルを見て確認しても大した手間じゃないんだけど。
すっきりして余計な心配をかけたり手間を取らせないようにしてほしいね。
弁護士の見解や考察はもういいから、開発にかかわる・かかわってきた人の
合意を取ってさっさと進めた方がいいと思う。
0396デフォルトの名無しさん
NGNG認識していたようなので、そのうち解決されるとは思うんだけどね。
0397デフォルトの名無しさん
NGNGbegin〜endなんじゃないかなぁと。
0398デフォルトの名無しさん
NGNGhttp://www.cbook24.com/bm_detail.asp?sku=99923191
またまた新しい256倍本が・・・。
0399デフォルトの名無しさん
NGNGリンク先、もう売り切れか。。。
rubyって、結構普及してるの??
0400デフォルトの名無しさん
NGNGうちの職場じゃ、使ってるのは俺だけだな。。
0401デフォルトの名無しさん
NGNGたまにGCのせいとしか思えない意味不明なエラーが出るので…。
0402デフォルトの名無しさん
NGNGここで文句言ってても直らんぞ
0403デフォルトの名無しさん
NGNGちょうど今GCの話になっているから、
ちょうどいいんでないの。
0404デフォルトの名無しさん
NGNGエラー報告したいけど再現性がつかめないからなぁ。
0405デフォルトの名無しさん
NGNG再現性のつかみにくい error というと、mod_ruby な ruby script で
thread をつかったりするようなものになると、なにがなんだかわからなく
なりますね。
0406デフォルトの名無しさん
NGNG本日(6/27)発売、だそうですよ<256本網道編
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG0409ぎこるび
NGNGソフトウェア工学とRubyとで何かないですかねえ。
それはともあれ、網道編はeRubyの章が良かったかな。
分散Rubyはまだ勉強中。
単にマーシャルしてるだけだとすると
ネットワークへの負荷が高いような気がしますがどうなんでしょ。
0410デフォルトの名無しさん
NGNG妄想したんだが、いっそNetを通さないってのも有りかな?
ローカル間だったら共有メモリ経由にするとかさ(わら
相手が同じマシンにいるのかどうかを調べて自動的に実装を切り替えるとか。
それはそれで富豪かも?
できるだけマーシャリングしないようなシステム(rubyとは無関係)を
触ったような記憶があるんだが、それもまた結局重くて重くて泣けてきた。
なんせ参照すること自体が「重い」んだもん。終わってる。
どっちの戦略が軽いんだろう?っていう問いは、一種の究極の問い
であるような気がする。鬱。
そういや誰もPCGIはやらないのかな…
0411デフォルトの名無しさん
NGNG網道編、CGI〜eRubyのあたりって場外乱闘編の使いまわし?
dRubyのところの読み応えとに免じて気にしないようにするけど、サ。
それはそれとしてerubyやmod_rubyは非常に楽しいですね。
0412デフォルトの名無しさん
NGNG> 網道編、CGI〜eRubyのあたりって場外乱闘編の使いまわし?
> dRubyのところの読み応えとに免じて気にしないようにするけど、サ。
いや、あれはちょっとひどいよ。殆ど文章も"太字"もギャグもいっしょじゃん。
これからも、256+倍本のある章をちょっと水増ししたのを量産しそうだ。
同じネタでも、arton氏みたいに切り口を変えてくれればいいんだけど。
0413デフォルトの名無しさん
NGNG全く同意。
ASCIIは読者をナメてるね。
0414デフォルトの名無しさん
NGNGだからといって甘い評価してちゃダメか。
とはいえ、クズ本呼ばわりするにはarton氏のところの密度が濃いんだよなあ。
# 412の指摘にあるように今後も256倍+本の水増しに流れていくんだったら悲しいな。
0415デフォルトの名無しさん
NGNG逆。どっちかといえば256本の草稿から256+。
書いてる人間同じでネタも一緒だし。
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG息を?
0418デフォルトの名無しさん
NGNG(・∀・)イイ!
0419デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNG>ローカル間だったら共有メモリ経由にするとかさ(
Corba 処理系ではふつーに提供されてるアイデアだよ。
同一マシン上だと共有メモリ/メッセージパッシング
異なるマシンで同一アーキテクチャだと、マーシャリングを部分的に省く。
正体不明の場合は規格通りに通信。
0422デフォルトの名無しさん
NGNGただ、これをやると architecture の変更をしたときに正体不明の
bug が発生しがちでは?
0423デフォルトの名無しさん
NGNGん?Corba 内部のバグなら Corba ベンダーになおさせればいいじゃない?
高い金払っているんだから、そういうところは楽ですよ。
0424デフォルトの名無しさん
NGNGどもです。ガイシュツ技術だったか。
がっくりしたような、ほっとした(既に使えるのだから)ような。
>>423
じゃあFREE実装はどうなるの?と一瞬思ったが、
ライブラリ作り萌えな人々は先を争って直すだろうから
結局同じことだな。
モジュラリティという意味での直しやすさの度合いは
商用でもFREEでもそうそう違わないだろし。
X鯖みたいに「鯖ごとに自分の必要に応じたMap方式を実装している」
ってな感じかな?共有メモリで通しちゃうAPIも有るんだったよねたしか。
0425デフォルトの名無しさん
NGNGMIT-SHM Extensionのこと?
0426RubyはPerlのパクリ
NGNG明らかにPerlのパクリsage
0427So fucking what?
NGNG機能の話なら、PerlはawkやshとCのパクリ, LinuxはUNIXのパクリ, JavaはC++のパクリ。
でもそれがどうした。進化は破壊, 合成, 再構成の繰り返し。
0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNGRubyWinにもアイコン付いてたと思うけど、あれじゃダメ?
0430デフォルトの名無しさん
NGNG個人的にはBeOS調のがいい。アニメヲタっぽくないやつ(藁
誰か描いてくれよう。
0431Rubyは絶対に流行りません
NGNGお前らグローバルスタンダードって言葉知ってるのか?
んん?
0432shige
NGNG0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNGどのへん?
まぁ俺もbegin〜endより{〜}が好みではあるけど、
書式(見た目のこと言ってるんだよね?)ダサすぎって程でもないんじゃないかな。
0435デフォルトの名無しさん
NGNGInt = Class.newって定義されてるの?
0436153
NGNGVC=頭良いと勘違いしてるヤツが好む言語
ruby=頭悪いことを認めたくないヤツが使う言語
頭良いヤツは、VBでさっさと仕事終わって帰宅するんだよ。ボケ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=993720050
0437デフォルトの名無しさん
NGNGclass Numeric < Object;end
class Integer < Numeric;end
Class を使ってクラスを動的に作成することもできる。
giko = Class.new
giko.class_eval("def mona; print 'itteyosi';end")
fusa = giko.new
fusa.mona #=> itteyosi
これは以下と同等
class Giko
def mona
print 'itteyosi'
end
end
fusa = Giko.new
fusa.foo #=> itteyosi
0438153
NGNGバカ丸出し。
0440デフォルトの名無しさん
NGNG他にWindows用のアイコンというとこのあたりかな。
http://member.nifty.ne.jp/ueivu/rubyico.html
http://homepage1.nifty.com/a_nakata/ruby/
http://www.geocities.co.jp/SiliconValley-Bay/4076/archive/ruby.ico.gz
ここのはアイコン単独では配布してないみたいだけど。
http://www.pragmaticprogrammer.com/ruby/downloads/ruby-install.html
0441KD
NGNGRuby使いの方、よろしくおねがいします。
--
module M
def m
puts 'ok'
end
end
class C
include M
def c
m()
end
end
C.new.c
class XC
include M
def self.c
m()
end
end
XC.c
--
ok
xxxx.rb:30:in `c': undefined method `m' for XC:Class (NameError)
from xxxx.rb:33
0442Rubyは絶対に流行りません
NGNGこんな言語だーれも知らないし。
はやく糞言語は消え去ってほしいでっす。
0443デフォルトの名無しさん
NGNGVBの悪いとこだけ真似したような言語だな。
誰かの言った目糞鼻糞は名言と確信。
0444デフォルトの名無しさん
NGNG>>441
includeはインスタンスメソッドを追加&
クラスメソッドからインスタンスメソッドを呼ぶという形になってるので
ダメだと思う。次のようにすればOKかな。
module M
def m
puts 'ok'
end
module_function :m
end
class XC
def XC.c
M::m()
end
end
XC.c
0445KD
NGNGなる程、ありがとうございました。
0446デフォルトの名無しさん
NGNGclass XC
extend M
def self.c
m()
end
end
XC.c
でもいいかと思われ。
0448デフォルトの名無しさん
NGNG2.xxの安定版がでる頃までは無理なのかな...
0449デフォルトの名無しさん
NGNGえ?rubyを?そこまでは望まないなぁ俺。
というか、make環境が正しく構築できたかどうか?のテストに
いつもrubyを使っているような気がするなぁ俺。
cygwinやそれ以外の幾つかの環境で、ディスクをケチるために
色んなファイル削ってinstallしたりするんだけど、
よく判ってない厨房なんで、削除が間違ってなかったかどうかを
確かめる手段が欲しいわけね。rubyが丁度いい。
あ。勿論そうやってmakeしたruby自体も使ってる(わら
0451デフォルトの名無しさん
NGNG逆に他の言語のことをよく勉強せずにRubyの方がいいとかRubyじゃなきゃこうは
行かないとか言わないように自戒しよう。
0452デフォルトの名無しさん
NGNGshigeの自作自演のような気がする。煽りのレベルが低いし。
この調子だと他のスレから来た人への注意書きも必要かな。
・shigeと名乗る「自称」Ruby使いは無視してください。
とか。
>>451
同意。適材適所だね。
0453デフォルトの名無しさん
NGNG同意。蛇は入ってんのにな。
0454デフォルトの名無しさん
NGNG0456shige
NGNG11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
0457shige
NGNG11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
0458shige
NGNG11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
0459shige
NGNG11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
0460デフォルトの名無しさん
NGNGshige厨と、粘着にPerl/HSP/VBスレ荒らしてる馬鹿は死んでくれないかな。
0461デフォルトの名無しさん
NGNGなんつか、Perlスレに嫌味なのが張り付いてるね。
HSPとVBスレのは名無しだけど、低レベルだからshigeじゃないかな。
0462shige
NGNG11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
1111
11 11 1111
11111 11111 11 11 111111111111111
11111 11111 11 11 111111111111111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 1111
11111 11111 1111 111
0463ぎこるび
NGNGbegin endがあるっていうのが似てるということ?
何だかなあ……
言語それぞれに長所短所がありますからね。
良い意味での言語オタクにはなりたいですね。
>>460
フレーム合戦ならまだ楽しめる余地がありますけど、
単なる荒らしは邪魔なだけですからねえ。
0464デフォルトの名無しさん
NGNG(上でも何度も出てくるけど、なんで?)
end に対応するものが定まっていないのが気持ち悪い、というのが
C/Perl ({-}) や Python (インデントを使いキーワードはない) や
Pascal (begin-end) のファンからたまに出る感想だよね。
好みと慣れの問題だけど。
0465デフォルトの名無しさん
NGNGif, then, else, end, loop, do, while, case あたりのキーワードとか、
構文上あまり記号を使わないところとか、
メソッドをプロシージャ的に使うときに呼び出しのカッコを省略するのが一般的なところだよ。
似てると言われてもいいじゃん。それが、 VB と同じで見かけの第一印象での敷居が低いことを意味するなら。
「Perlの機能をほとんどすべて内包している」ことすら宣伝文句にしているわけだしね。
ほんとにいろんな言語を勉強した人には、たくさんの言語の構文や機能を踏まえていることに気づいてもらえると思うけど、
そうでない大多数には「VB に似ているね」程度で入ってもらえばよし。
0466ぎこるび
NGNGまあ、対になるのは例外処理の時くらいですね。
ネストが深くなると end ばかりになって眩暈がすることはあります(笑
end の10連コンボとか。
>>465
構文より統合環境が似ている方が大部分の人にとって嬉しいんでしょうね。
RubyWin はまだ実用的とは言いがたいし。Komodo に期待かな。
UNIX な人だと emacs あればこと足りるんでしょうけど、
Win な人にはそれじゃ通じないですからね。
0467Rubyを端的に表すと
NGNG0468デフォルトの名無しさん
NGNGいいんじゃない?
ソースも公開されてるんだからさ。
互換性が無くなるってのが嫌ならトランスレータ作ればいいわけだし。
0469>>467
NGNG英語のMLを見るとたくさんプロジェクトが動いてるし、日本語のMLを見ると
プログラミング自体に相当不慣れそうな人までプログラム書いたりしているのが
見える。
ところで、その諺は「水清ければ〜」じゃなかった?
0470デフォルトの名無しさん
NGNGVBは言語自体はどうにも貧弱で使いづらいが、環境が素晴らしいからね。
構文がシンプルだからRADとも相性がいい。
Rubyは見かけ的にはVBと遠くはないけど、その実態はあまりに動的すぎて、
統合環境のエディタにぜひほしい補完とか型の推測が実装しにくそう。
かといって、コメントに制御情報を埋め込むようにはして欲しくないなあ。
(Visual Cafeを思い出す。。)
0471デフォルトの名無しさん
NGNGRubyWinやApolloって使ったことありますか?
Windows上のRubyでGUIを動かすことになると
それらを使うことになると思いますが、
使い心地とかはどうでしょう?
0472デフォルトの名無しさん
NGNG>VBは言語自体はどうにも貧弱で使いづらいが、環境が素晴らしいからね。
>構文がシンプルだからRADとも相性がいい。
それはひとたびDelphiを見ると瓦解するご意見です。はい。
構文シンプルさとRADとの相性ってのは、あんまり関係ないんだよね。
C++がRADに向かないのの理由は別にある。
フクザツかどうかが問題なんじゃなくて、
「必要な」柔軟性が有るかどうかが問題なんだよね。
腕力なんぼ有っても、関節が硬ければ、曲芸はできないんだよね(わら
>コメントに制御情報を埋め込む
MSVC++もソレ系っすね(笑)
言語自体がそういう風に出来ていないのが痛い。
Javaもそういや実はあんまりRAD向きとは言えない…
>統合環境のエディタにぜひほしい補完とか型の推測が実装しにくそう。
まぁSmalltalkみたいな生き方もあることだし。
>>471
>RubyWinやApolloって使ったことありますか?
>Windows上のRubyでGUIを動かすことになると
>それらを使うことになると思いますが、
直接は関係ないんじゃない?
RADで重要なのは、言語の柔軟性と、あと
「RADの情報をいかにうまくファイルに落とすか」、です。
というわけであとは実はRAD情報保存フォーマットを決める作業
だけでいい、とも言えるんだよね。
それさえ決めておけば、実際のRADツールは誰がどう実装してもよい
(=互換性がある)ということになるし、
WinだろうがMac(笑)だろうがUnixだろうがOK、
GUIライブラリもドレでもOK、
ということになる…かも知れない。
誰か、挑まない?
0473デフォルトの名無しさん
NGNGその称号はLisp系にあげて下さい…
0475470
NGNGどう瓦解するのかぜんぜんわからないけど、 Delphi の構文は VB 程度にシンプルでないという意味?
Pascal は明らかに構文解析のしやすさを念頭に作られていて、 Delphi でもシンプルさは損なわれてないじゃん。
(俺は Delphi2 から 4 あたりまでを使っていたから、説明する上で基本的なことは省略してくれて構いません)
0476470
NGNGRuby に関しては、 SmallTalk みたいな生き方というのに賛同。というか、
SmallTalk (の役割)を置き換えるという方向性は結構有力かもしれない。
そのためには、Ruby のクラスライブラリにはいまいちな点も多いから、
SmallTalk のクラスライブラリを搭載した Ruby というのが見てみたい。
0477デフォルトの名無しさん
NGNGああ。「構文が」か。
構文という単語を正確に使ってたわけね。
ならばオッケーだ。これにて和解。
「なんとなく見た目」のシンプルさと
「構文」のシンプルさは、結構別概念だってのは
お気づき(多分)の通りだわな。
そこで前者を採用しちゃうMSがドキュなわけで。
>>476
matz氏、ST方向(というかunix以外の全ての「環境」)を
色々嫌いらしいからなあ…(ぉ
やっぱり目標はMorphかな。
言語の大筋はSTにかなり近い、んだけどねえ。
逆にいえばSTにRuby風ライブラリ積めば
Rubyと同じことが出来るようになる
(=氏のいう「閉鎖的」な環境じゃなくなる)
だろうに、なにを嫌っているのやら…
0478デフォルトの名無しさん
NGNGWindows はじめいろいろな環境への対応にしても、他の人がやるのは歓迎していて
自由にやることを許しているし、そのために必要なグローバルな変更に関しても
できる範囲でサポートしていると思うけどなあ。
0479デフォルトの名無しさん
NGNGRubyの紹介文からして他言語に嫌味全開だから、同じような攻撃的な奴が集まったりとかな。
0480デフォルトの名無しさん
NGNG自分の考えと違うことを強烈に言うのを見ただけで憎んだり、
こっちの方が短くて速くてきれいだ、という価値観を共有し(させ)たがったりね。
「Ruby vs. Perl」という視点のときもそうだし、「Ruby らしいコードは何か」というときもそう。
ruby-talk の方を読むと、欧米の人間の方が「なんでこいつはこう考えるのだろう」とか
「どういう考え方をすればこういう実装になるのか」というところに頭を持っていくのが得意なように見える。
いろいろ刺激を受けないとね。
0481デフォルトの名無しさん
NGNGがいいこといった!
「余計なこと言うなら来ないで下さい」とかほざく馬鹿は、多いな。
matz氏はそこまで直接的な馬鹿じゃないようではあるが。
…のだが、それは別として、
>>478
自由は当然許してる(してなきゃオプソとすら言えぬ)けど、
あのAPIの用意の仕方は、unix以外にとっては余計でしかない
という意味において、「自分はやりたいと思わない」の
域を越えた圧力(わら)を、感じるけどな。
ま、攻撃的な奴が集まるなら集まるで、
ruby「へ」攻撃的な人間だって集まって良さそうなもんだし。
0482デフォルトの名無しさん
NGNGhttp://samurai-x.hypermart.net/cgi-bin/kitty.cgi
0483デフォルトの名無しさん
NGNGとりあえず>>480を読みただ噂だけでRubyを嫌悪するのは止めようと思ったYO!
0484デフォルトの名無しさん
NGNG>>480
何かと言うと「欧米では…それに比べて日本は…」というのは
やめた方がよいです。氷魚みたいに馬鹿に見えます (マジよ)。
0485デフォルトの名無しさん
NGNG> (マジよ)。
(大爆笑)
0486デフォルトの名無しさん
NGNGどうせRubyの良さなんて分からないだろうし。人種が違うと思うが(わら)
0487デフォルトの名無しさん
NGNGやめれ。つーか消えろ。
0488デフォルトの名無しさん
NGNG「欧米がそうなんだからそうじゃなきゃいけない」と主張しているように勝手に読んじゃうの。
「刺激を受けないとね」とわざわざ予防線張ってあるのに。
0489shige
NGNG↓ここをクリック
http://plaza29.mbn.or.jp/~syuuki/labo/realip.html
↑ここをクリック
0490デフォルトの名無しさん
NGNG0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG何か文句ある?
0493デフォルトの名無しさん
NGNG文脈がないよ。文脈なしに「良い」だの「べき」だの言えないし、そもそも良い「もの」って何のことよ?
Ruby のことを言ってるのか、 Ruby よりいいものがあると言いたいのか。
[Warning] すでに言葉遊びの領域に踏み込んでいます。
0494デフォルトの名無しさん
NGNG井の中の蛙にはなるなよ。
http://easyweb.easynet.co.uk/~hiros/virii99/newtype/list.doc
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNGLGPLに基づく派生物として作られていますよね?
LGPLの181行目のSection2に次のような記述があるのですが、
> But when you
> distribute the same sections as part of a whole which is a work based
> on the Library, the distribution of the whole must be on the terms of
> this License, whose permissions for other licensees extend to the
> entire whole, and thus to each and every part regardless of who wrote
> it.
RubyのライセンスはLGPLより緩い別のライセンスになってしまっています。
これはLGPL違反ではないでしょうか?
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNGつまり、 LGPL の規定する「ライブラリ」の「派生物」としての範囲は regex.[ch] の
二つのファイルに依然として止まっています。
そして、 Ruby のライセンスには regex.[ch] に関する例外条項があり、それらについての権利は
尊重・保護されていると合理的に考えられます。
また、 LGPL の上記引用部分の直後に
> Thus, it is not the intent of this section to claim rights or contest
> your rights to work written entirely by you; rather, the intent is to
> exercise the right to control the distribution of derivative or
> collective works based on the Library.
>
> In addition, mere aggregation of another work not based on the Library
> with the Library (or with a work based on the Library) on a volume of
> a storage or distribution medium does not bring the other work under
> the scope of this License.
という条項があり、道義的にも契約上も LGPL に違反しているとは考えられないと思います。
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNGあんたにMLでライセンス問題を仕切ってもらいたかった…
0502デフォルトの名無しさん
NGNGおいおい、regex.cってRubyから独立してるか?
明らかにRubyの一部を構成してるだろ?
0503デフォルトの名無しさん
NGNGgettext を同梱したら全体を LGPL にしないといけないわけではないのと同じ。
0504デフォルトの名無しさん
NGNGライセンス(LGPL)上は、独立しているかどうかはどうでもよくて、LGPLのコードから派生したものがLGPLで扱われることを保証しているかどうかだけが問題。
そしてRubyではregex.[ch]だけがLGPLのコードの派生物なので、RubyのライセンスがそれらをLGPLで扱うことを要求している以上は問題ありません。
その他のコードはLGPLのコードを元にしたわけではないから、LGPLの適用範囲には入りません。(GPLだと入ってしまう)
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNGそんな理屈はちょっと無理があると思うぞ。
0507デフォルトの名無しさん
NGNGなんで GPL に加えて LGPL ができたのかをまったく理解していないな。
上に引用されているところすら読まないんじゃ話にならん。
オムロンに、 GUI に GTK+ を採用しているんだから Wnn7 は LGPL の派生物だ、
ソースを公開しろ、と訴えてみたら?公開されたらみんなよろこぶよ。(笑
0508497
NGNG497よりわかりやすい部分がありました。
訳は私が勝手に訳したので間違ってるかもしれません。
116行目
> A "work based on the
> Library" means either the Library or any derivative work under
> copyright law: that is to say, a work containing the Library or a
> portion of it, either verbatim or with modifications and/or translated
> straightforwardly into another language.
> 「ライブラリに基づく作品」とは、ライブラリそのものや著作権法に基づく派生物のことを意味する。
> すなわち、ライブラリやその一部を含んでいる作品のことである。ここでいうライブラリとは、
> 変更されていないもの、変更されたもの、他の言語に直訳されたもの、さらには、変更しながら他の
> 言語に訳されたもののことを言う。
つまり、regex.cを含んでいるRubyは「ライブラリに基づく作品」に該当すると
思います。regex.cが生成するバイナリは他の部分と静的にリンクしてますよね?
149行目
> 2. You may modify your copy or copies of the Library or any portion
> of it, thus forming a work based on the Library, and copy and
> distribute such modifications or work under the terms of Section 1
> above, provided that you also meet all of these conditions:
> <中略>
> c) You must cause the whole of the work to be licensed at no
> charge to all third parties under the terms of this License.
> 2. 下記の条件を全て満たす限り、ライブラリまたはその一部を変更して、
> 「ライブラリに基づく作品」を作り、そのような変更物や作品を上記セクション1に
> 基づいて複製し配布できる。
>
> c) 作品の全体を、このライセンスの条項のもとで、無償で全ての第三者に提供しなければならない。
この部分や497で私が引用した部分はGPLでの表現とよく似ています。
「ライブラリに基づく作品」全体をLGPLにしなくてはならないということです。
なお、regex.cは単に保管のために別々のソフトとして他の部分と一緒になってるわけではなく
他の部分と協力してRubyという一つの作品を構成しているものなので、499で引用された部分は
影響ないと思います。その証拠に、499の部分とほとんど同じ部分(LibraryがProgoramに
なってる)がGPLにも存在します。
そういうわけで、今のところ私はRubyがLGPL違反だといわざるを得ませんが、どうでしょうか?
0509デフォルトの名無しさん
NGNGソース配布上は関係ないよ。バイナリ配布に関しては確かにまずいかもね。
regex を共有ライブラリ化して LGPL の元で別配布とすれば問題は完全になくなるけど、
本当は regex をもっと緩いライセンスのものをベースに作りなおしたいね。
0510デフォルトの名無しさん
NGNG0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNG0513名無しさん
NGNGとちょっと思った。
0514デフォルトの名無しさん
NGNGregex.cが「work based on the Library」で、それ以外のRubyの
コードは「work that uses the Library」です。
あとは、LGPLの第6節を読みましょう。
#ただ、LGPLの第6節はLibrary GPLとLesser GPLで文章が違うので
#注意。
>>511
LGPLの第5節を読みましょう。
0515デフォルトの名無しさん
NGNGそれでもやはり、 LGPL 由来のコードを使っていない他の著作物まで LGPL の影響下に入るというのは LGPL の意図するところではないと思う。
そういう事態になる GPL だと困る場合があるから LGPL が作られたわけで。 (ここで言う「使う」は複製、改変、転用の意)
あと、「他の部分と協力してRubyという一つの作品を構成している」ってのは言葉遊び(解釈論)の香りがする。
基づく(based on)と強調動作は区別されるべき概念でしょう。regex.[ch] に加えられた変更というのは UTF8 対応と Perl 拡張正規表現の
サポートの追加であり、依然として正規表現ライブラリのままの体裁を保っています。
事実、 regex.[ch] を libregex.so として分けることは容易です。(たぶんすぐにでも可能)
そして、 GPL における "progoram" と LGPL における "library" の違いはまさに肝です。
言い換えられているところこそ重要。なぜなら、
program: 厳密な分離が不可能なコード片
library: 明確な分離が可能なコード片
という使い分けであり、 LGPL は分離可能な範囲だけに権利の行使を限定するものである、と
>>499 で引用された部分にあるから。
0516デフォルトの名無しさん
NGNGよほどお馬鹿なソースでなければ。
0517デフォルトの名無しさん
NGNGregexのように密接にRubyと結びついたものが分離可能だなんて言い張るのは明らかに間違ってるな。
0518デフォルトの名無しさん
NGNGそれは、linux/win上でmakeしたrubyを
linux/winと分離不能だ、と呼んでいるようなものでは?
0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG0522デフォルトの名無しさん
NGNGRuby の regex.[ch] は namazu からも (Ruby 全体をリンクせずに)
使えてるんだから、それは分離されてると言えるんじゃない?
0523名無しさん
NGNGGNU Emacsから引っぺがした感じのソース。
sed,grepのパーツにもなっている。
機能が多いのでいろいろと流用されている。
0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNGFindというクラスがあるよ。
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
NGNGカレント以下のファイル名を再帰的に辿って表示
$ruby -rfind -e 'Find.find("."){|file| p file}
0528524
NGNGFind.find('.'){|f|
next if File.directory?(f)
...
}
で目的の機能が得られました。
0529デフォルトの名無しさん
NGNGregexpをリンクしないと動かない、ってことでもLGPL的にはOKでは? LGPLで
ライセンスされているライブラリそのものが適切に配布されていれば。
まずは
・今のRubyの全ての配布形態やライセンスがLGPL的にまずいのか
・特定のバイナリの配布形態がLGPL的にまずいのか
・誰かがRubyを独自に配布したい場合にLGPL的にまずいことが起こりうる
(起こりやすい)のか
を切り分けて考えたほうがいいと思います。
0530デフォルトの名無しさん
NGNGライブラリとは言えない気がする。
0531デフォルトの名無しさん
NGNGとほほ。。
じゃあ、 #include <abc.h> したら abc.h を直接使っていることになるから、
abc.h というヘッダを提供する libabc.a (or .so) というものはライブラリではない?
gettext を同梱しているソフトは腐るほどあるが、 gettext がライブラリとは言えない?
0532デフォルトの名無しさん
NGNGGPL や LGPL についての議論に参加するなら、せめて一回くらい GNU grep/sed/awk あたりの
ソース構成なんかを眺めてみてくださいな。損はないから。
まあ、2chだから野次馬が多いのだろうけどね。
0533デフォルトの名無しさん
NGNGいやだから、soとかaを使わずに、ソースレベルで結合してるから
ライブラリとは言えないように見えるんだろ?
ライブラリといえば、libとかaというイメージあるだろ。
0534531
NGNGだーかーらー、 gettext の例もひいたでしょ。
gettext を同梱しているものは、一緒にコンパイルしてスタティックリンクして使っているものが多い。
先んじて反例を挙げておいたのに、何にもならなかったな。
0535デフォルトの名無しさん
NGNGそんなこといったらなんでもライブラリじゃないか。main.cもなにもかも。
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNG何か議論の余地が?
0538497
NGNG>>514
> regex.cが「work based on the Library」で、それ以外のRubyの
> コードは「work that uses the Library」です。
仮にregex.cがライブラリだとすると、第5節を読む限り確かにあなたの言うことは
正しい気がします。
ですが、だからと言って、Rubyが「work that uses the Library」とはいえないと思います。
なぜなら、regex.cを含んでいるからです。
Rubyは>>508に書かれている定義によると「work based on the Library」です。
バイナリはどうかということを考えると、いちいち引用はしませんが、LGPLには「work
that uses the Library」とLibraryをコンパイルして静的に結合すると、「work
based on the Library」ができると明示してあります。
したがって、Rubyのバイナリはいずれにしても「work based on the Library」であり
LGPLまたはGPLでライセンスしない限りLGPL違反だと思います。
次にソース配布はどうかということですが、私はさっきも書いたようにregex.cが
Rubyに含まれる限り「work based on the Library」であり、それ故にLGPL違反だと
言わざるを得ません。
もしも、regex.cがRubyに含まれないと言えるのならば、違反ではなくなるはずですが、
少なくとも、作者がregex.cがRubyに含まれると言ってしまっている以上は、Ruby
にregex.cが含まれないとするのは今のところ間違ってるのではないかと思います。
ちなみに、議論となってる「LGPLにおけるライブラリ」ですが、
> A "library" means a collection of software functions and/or data
> prepared so as to be conveniently linked with application programs
> (which use some of those functions and data) to form executables.
となってます。「conveniently」が曖昧なので、私には判断できません。
0539デフォルトの名無しさん
NGNGだったら、その求められてる使い方をしてないってことだろ。
0540デフォルトの名無しさん
NGNG0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNGまともに使うのは止めとけということだな。
0543デフォルトの名無しさん
NGNGなんかタマってるわけ?
0544デフォルトの名無しさん
NGNGソースコードが公開されていれば、LGPL著作物を含んだ実行形式を
独自ライセンスで配布することは可能。
0545デフォルトの名無しさん
NGNGそうだといいね。それはバイナリだけの話?
0546544
NGNGバイナリに限ってはいません。
LGPLの解説は、
http://www.open-news.com/~maki/txt/license.html
がわかりやすいです。
0547デフォルトの名無しさん
NGNGこのHPを見てしまうと、今までの議論はいったい・・って感じになるな。
0548デフォルトの名無しさん
NGNGそのホームページだとわかりにくいが、"you may also compile or link"
と書いてあるからバイナリだけだろ。
0549デフォルトの名無しさん
NGNG0550544
NGNGえ、どこ?
6. の最初の文は、"you may also combine or link" だよ。
compile でなく。
0551デフォルトの名無しさん
NGNGrubyに入っているものではcompileになっているが。
0552デフォルトの名無しさん
NGNGそれが本当ならちと由々しき事態って感じだが、
本当に両者は同じ(?)行をさして話してるのか?
0553544
NGNG確かに。こっち見るべきですね。スマソ
LGPL Version 2.1 (February 1999) だと combine 。
0554514
NGNGバイナリレベルの話、つまりlibruby.aとかlibruby.soとか実行形式としての
rubyとかがLGPLになる、ということは同意します。
で、ソースレベルなのですが、作者がどう言っているかというよりも、
regex.[ch]以外のコードはRuby's で配布されるとドキュメントに書かれて
いるので問題ないのではないでしょうか? 別に違反していないと思うの
ですが。
0555ぎこるび
NGNG<引用>
* 「他言語との比較」ページをあまりにも真面目にとらえる人が 多いので(かつ、そういう人からの文句に疲れたので)、このページ へのリンクを削除します。面白いと思ったのになあ。(2001-07-10)
</引用>
あーめん
0556デフォルトの名無しさん
NGNGあぁあ
0557デフォルトの名無しさん
NGNG無視しとけばいいのに。
0558デフォルトの名無しさん
NGNG0559Rubyの法則
NGNG0560なんか、
NGNG0561デフォルトの名無しさん
NGNGhttp://www.ruby-lang.org/ja/compar.html
0562デフォルトの名無しさん
NGNG心配しなくてもCVSレポジトリにずっと残ります。
0563デフォルトの名無しさん
NGNG/. の Why Not Ruby? が思ったほどフレームウォーになっていないのに感心したよ。
0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGみんなWindowsマンセーなのね。。。
0566うん。気に食わない。
NGNGここまで露骨に差別しなくてもいいのにね。
0567デフォルトの名無しさん
NGNGミラーしようという話が出れば、すんなり通ると思う。
Windows が差別されているとか言ってるやつらは動かなさすぎなんだよ。
FreeBSD や NetBSD や MacOS X の人たちは、みんな修正してくれって
言って修正してもらってるじゃん。UNIX だからかどうかなんて関係ないよ。
なかださんとかわたなべさんとか、 Windows のことをよく分かっていて
まつもとさんにも信頼されている人がいるんだから、ちゃんと動けば希望も
通せるんじゃないの?
0568デフォルトの名無しさん
NGNGWindowsユーザにはコミュニケーション力が育っていないだけのような気がする。
2chで文句垂れたりあきらめて見せたりして発散するだけというのが多数派のようだ。
誰かが2chの意見を吸い上げてうれるのを待ってるだけなんてもどかしすぎるよ。
そういう態度は、優先度が低いままなのを甘受するということを意味する。
フラストレーションをハングリー精神に置き換えて、どんどん求めればいいんだ。
0569デフォルトの名無しさん
NGNG頼むとか頼まないとかの問題じゃねーだろ。
そのわたなべとかそういう人たちは何やってるんだ?
0570デフォルトの名無しさん
NGNG0571デフォルトの名無しさん
NGNG0572shige
NGNG甘ちょっろい事言うなよ。
このガキが。
0573デフォルトの名無しさん
NGNGこうしてほしいというのがあれば、遠慮なく ML に投げてみてくれ。
0574デフォルトの名無しさん
NGNGというわけで>>573に同意。ただし、最低限の礼儀は守って。
0575うん。気に食わない。
NGNGWindowsユーザは面倒くさがりだから、たぶん要望なんか出ないよ。
(他人が使いやすいものを提供するなら利用しよう、そうでなきゃ他のもん使えばいいや、という文化)
「Ruby1.6.4(WIndows95/98/2000/Me) ダウンロードはこちら」みたいな誘導に慣れてるから、
cygwinとかmswin32なんて言われても宇宙語にしか見えないだろう。
まあ手を出しやすくしたらしたでMLに「なんだかわからないけど動きません!大至急Resください!」
みたいなメールを投げる人種は確実に増えるしね。
Perlをリプレイスするのが夢らしいが、シェアや知名度よりコミュニティの平和/レベル維持を図る
というのも自由だから、お好きにしてください、という感じ。
そういえば、何でもオブジェクトなんだから組み込みクラスの説明はとても重要なはずなのに、
各クラスの説明にはサンプルコードも無い。こういうのも厨房避けなんだろうか。
志が高いと色々大変ですな…。
0576デフォルトの名無しさん
NGNG組み込みクラスのサンプルは、Dave&AndyのProgramming Rubyなり
riなりに載ってるやつじゃだめですか? 説明は英語だけど、リファレンス
なら日本語のがありますし(日本語しかないのはちょっとまずい)。
0577デフォルトの名無しさん
NGNG0578デフォルトの名無しさん
NGNGPerlでやっていたことをすべてRubyでもできるようになれば万々歳。
0579デフォルトの名無しさん
NGNG>そういえば、何でもオブジェクトなんだから組み込みクラスの説明はとても重要なはずなのに、
>各クラスの説明にはサンプルコードも無い。こういうのも厨房避けなんだろうか。
>志が高いと色々大変ですな…。
それだ。
俺にとって一番楽しくないプログラミングが、「他人の作ったライブラリの使い方や挙動がよくわからないで苦労する」こと。DirectXとか。
Rubyは楽しいプログラミングをお題目に掲げているが、慣れない言語で書かれたコメント皆無のライブラリのソースコードを読まないと何も出来ないというのは、どう考えても楽しくない。
Rubyは作者が日本人だから、ドキュメントなどの日本語対応度が高いのどうの言われるが、Perlの方がよっぽど良い。
まぁ、マニュアルの売り上げで開発費の元を取るビジネスモデルのつもりなら、文句つけるのは筋違いだけど・・・結構御布施してるし・・・。
0580497
NGNGわかりやすいHPですね。日本語訳へのリンクもあり、大変参考になります。
私も一瞬セクション6でぬか喜びしたのですが、そのHPには大きな見落としがあると思います。
> a) Accompany the work with the complete corresponding
> machine-readable source code for the Library including whatever
> changes were used in the work (which must be distributed under
> Sections 1 and 2 above);
とありますが、「(which must be distributed under Sections 1 and 2 above)」
が何を修飾しているかが問題です。
この「(which must be distributed under Sections 1 and 2 above)」を
先ほどのHPでは見落としているのではないかと思います。
そのHPからリンクが貼ってある日本語訳ではなぜかchangesを修飾してるようですが、
これは誤訳でしょう。
私は「the work」を修飾してるものだと思い込んでいましたが、「source code」を
修飾してるとも考えられますね。前者ならやはりRubyはLGPL違反。後者ならRubyは
バイナリなら違反をなくすことが出来ると思います。私には両方の解釈がありえる
としか思えないです。誰か英語力のある方の見解を聞きたいところです。
ところで、LGPLの新しいバージョンのセクション6の b) はかなり緩いですね。
このb)はかなり使えると思います。
それに加えて、私の考えが正しいならばの話ですが、新しいバージョンのLGPLで
ソースコードも灰色にすることが出来ると思います。
LGPLは、配る人が新バージョンでライセンスすることも出来るはずなので、
まつもと氏が新バージョンを選択すれば解決に一歩近づくのではないで
しょうか?
>>554
> regex.[ch]以外のコードはRuby's で配布されるとドキュメントに書かれて
> いるので問題ないのではないでしょうか? 別に違反していないと思うの
> ですが
そう書いてあるから問題だと思うのです。regex.[ch]以外のコードもLGPLにしなければ
違反ではないでしょうか?
0581ぎこるび
NGNG休眠中のサイトを復活させようかな…
閑話休題。
リファレンスマニュアルは RWIKI なので誰でも編集できますよ。
http://www.ruby-lang.org/ja/man-1.6/index.cgi?cmd=view;name=Ruby%A5%EA%A5%D5%A5%A1%A5%EC%A5%F3%A5%B9%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB
Array なんかは結構例がついているので、それを参考にしてどんどん書いてみては?
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Array
0582デフォルトの名無しさん
NGNGそんなことすらユーザーの心を開発者が読まないとわからないらしい。(w
0583ぎこるび
NGNGおいてありますよお。
http://www.ruby-lang.org/ja/download.html
mswin32版配布先へのリンクもはってありますし。
0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNG0587ぎこるび
NGNGexe クリック一発インストールなイメージですよね。
そういうインストールキットもあるんですが(Andyところじゃなくて)、
全然メンテされてませんしリンクもはってません。
そういう意味では置いてないかも。
0588デフォルトの名無しさん
NGNG0589名無しさん
NGNG0590デフォルトの名無しさん
NGNGこのスレで執拗にRubyを煽ってるだけだろ。shigeかも。
0591デフォルトの名無しさん
NGNGでなくダイナミックリンクにしておけば問題ないと思われる。
0592デフォルトの名無しさん
NGNGActiveScriptRubyはまさにそのmsi形式だよ。
0593デフォルトの名無しさん
NGNGしかし大本のrubyが違反していたらlgplの権利は全部失われるんだぜ?
0594ぎこるび
NGNGあ、忘れてた。<こればっかり……、まじ鬱
いつの間にか色々してくれるようになったみたいですね。
実は regsvr32.exe 使って自分で登録する頃にインストールしたきりで。
ruby-lang.org から直接サイトにリンクしてほしいですね。
0595デフォルトの名無しさん
NGNGLGPL で扱っている限りは Ruby に含まれるどのファイルのライセンスにも違反しないから、
「使う側」が咎められることはないと思うのだけど、どうかな?
LGPL をタテに regex.[ch] の権利者が要求できる権利というのは、 Ruby を LGPL でライセンスしろ、
ということだけだよね?たとえ賠償を求めるとしても、それは LGPL に違反した取り扱いをした人しか
対象にはならないし。
0596デフォルトの名無しさん
NGNGmswin32 プラットフォームの中には ActiveScriptRuby もある、というリンク構成なので、
件の mswin32 のページの ActiveScriptRuby へのリンクをもっと上の目立つところに
置いてもらうと、いいかも。
何にしても、これで改善できることが一つ見つかったんだから、動いてみてよ、Windowsユーザの人。
0597596
NGNG0598デフォルトの名無しさん
NGNG0599shige
NGNG0600デフォルトの名無しさん
NGNGライセンスウゼー。
0601514
NGNG「(which must be distributed under Sections 1 and 2 above)」は
(ライブラリの)source codeだと思います。そうでないと、その後の
「and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code,(以下略)」
の意味がとれなくなりませんか?
「LGPLを新バージョンにするかどうか」は、旧バージョンで配布しているものは
新バージョンでも配布できるので、その辺は再配布したいひとにお任せ、という
のがまつもとさんのスタンスかと思います。
ちなみに改変したライブラリをソースで再配布する(=Rubyのオリジナルが
行っている再配布方法)には、第1節と第2節を守ればよくって、第6節は関係ない
のでは?
0602デフォルトの名無しさん
NGNG(旧)BSDLの問題はないです。ライセンスの文面には宣伝条項が残っていますが、それは過去の著作権者に
無断で変えられないから残っているだけで、 UCB からは「もう宣伝しなくていいよ」という通知が
何年も前に *BSD コミュニティに通達されています。(という話は ML に既出)
よって、宣伝条項は無視していいです。著作権表示は、配ったときの CD-ROM の中のどこかの
ドキュメントに入っていれば問題なし。(まあ、 Ruby のソース配布を含めておくのが簡単だろう)
0603デフォルトの名無しさん
NGNGサイズがでかくなって嫌だな。
0604497
NGNGなるほど。たしかに第三者は権利を失いませんからね。
複雑ですが、
・LGPLとして配布することにして、それを実際に配布する。
・その配布したものを使うことにする。
・Ruby以外の部分が、独立して一つの「Rubyを使う作品」だということにする。
もしくは、新しいLGPLでRubyバイナリを配布してセクション6のb)を使ったことにする。
という手順を踏めば使う側としては大丈夫だと私は思います。どうでしょうか。
>>600
そういったライセンスの文面を配布アーカイブのドキュメントに含めないと
いけないかもしれないですね。
>>601
>「and, if the work is an executable linked
> with the Library, with the complete machine-readable "work that
> uses the Library", as object code and/or source code,(以下略)」
> の意味がとれなくなりませんか?
なぜでしょうか?セクション1、2にはこれと矛盾する記述はありませんよね?
ソースコードやオブジェクトコードを配布してはいけないという記述は無い
ですから。
それ以外の後半の意見は全て同意します。
私の今のところの意見まとめると、
・Rubyの、ソースコードのみで配布されてるものは現在LGPL違反であり、
バイナリは適切な配布の仕方をすれば灰色になる。
・ただし、再配布者がLGPLで配布し、regex.[ch]以外のライセンスも守れば再配
布者に限っては違反で無くなる。
・regex.[ch]のライセンスを新ライセンスにして配布すれば、灰色になる。
・だから、せめて、公式の配布を灰色にするために、まつもと氏がregex.[ch]の
ライセンスを新ライセンスにして配って欲しい。
ということです。
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNGと言えば済むのが LGPL ではないの?
添付の COPYING.LIB を最新の Lesser の方にした方がいいというのは確かにそうだけど。
>>605
Rubyが消えても一番ダメなキミは残るね!
0607デフォルトの名無しさん
NGNGつーか、古いバージョンの文面を載せて配布したら
古いバージョン使って配布してることにしかならんだろ。
0608デフォルトの名無しさん
NGNG0609544
NGNG> とありますが、「(which must be distributed under Sections 1 and 2 above)」
> が何を修飾しているかが問題です。
どちらを修飾しても意味は変わらないと思います。
なぜなら、Sections 1 and 2 では、
「"the Library" (or with a work based on the Library)」
のみについて制限しているためです。
たとえ上の関係節が、
"the work" = "(portions of) the Library" + "the work that uses the Library"
の全体を修飾しているとしても、実際に関係するのは前者の方だけで、
"the work that uses the Library" の方は与り知らぬことになります。
つまり、「変更点を含む"the Library"」をLGPLで配布し、
"the work that uses the Library" の
少なくともソースを適切なライセンスで提供すれば、
それを結合して作ったバイナリ全体も好きなライセンスにすることができる、
と読むべきでしょう。
ただし、Rubyがこれに違反しているかどうかは別問題で、
Sections 1 and 2 に沿っているかどうかによるでしょう。
私は、regex以外は "the work that uses the Library" だと思う。
>>603 >>608
ソースを添付したくなければ、LGPL 6節 b)以降のどれかに従えばよいかと。
0610デフォルトの名無しさん
NGNG"the work" = "the work based on the Library" = Section 2の対象
0611609
NGNGこの等式が成り立つとは考えられない。
ライセンスの文面には "work" が違う意味で出てくるでしょ。
なのに単に "the work" とだけ出てきたら、
その直前に出てきた"work"、つまり6節の冒頭の
"a work containing portions of the Library"
を指すはず。
0612514
NGNG>なぜでしょうか?セクション1、2にはこれと矛盾する記述はありませんよね?
いわゆる経済性の原則によるものです。「きみは○○しなければならない。
そしてきみが××ならば、きみは△△しなければならない」という文があった
とき、○○の意味が△△の意味をふつう含まない、というか。
もっとも、そういう言葉の使い方は冗長でヘン、というだけなので、そういう
使い方がありえない、というわけではありません。
私は『今のRubyの配布は基本的には問題ないけど、バイナリ配布の方法はちと
めんどくさいことがある』という意見なので、497さんの意見とはいまいち
理解できないのでした。
497さんは、例えば「LGPLなライブラリをリンクして使用するBSDライセンスな
プログラム」というものは、ソース形態ですら配布できない、という意見なん
でしょうか?
0614497
NGNG「the work」は「Library」を含むわけですから、全体として「work based on the
Library」になるはずです。
確かに、regex以外の部分は「the work that uses the Library」のような気が
します(しかし、私にはそうだと言い切れません)。
しかし、セクション2や前書きなどに書かれていることをみると、ライブラリ以外の
部分を独立した離れた作品とみなせなければ、全体がLGPLに従わなければ
ならないと書いてあります。
そして、Rubyはみなせないように見えます。理由は以前書いた通りです。
>>612
なるほど、言われてみれば、その通りですね。おそらくsorce codeを修飾する
と考えた方が自然でしょう。
> 私は『今のRubyの配布は基本的には問題ないけど、バイナリ配布の方法はちと
> めんどくさいことがある』という意見なので、
私も、バイナリ配布については、複雑な条件をクリアすれば問題無しに出来ると
いう意見です。
しかし、なぜソースでの配布が問題無いのでしょうか?
仮にセクション6の問題箇所がsorce codeを修飾しているとしても、
古いLGPLでは、セクション6はバイナリにしか適用されないと考えるのが
自然ではないでしょうか?
ですから、今のソースの配布は問題だと思います。
すぐ出来る解決法としては、
・regex.c以外の部分が独立した作品であると宣言する
・regexに新しいLGPLを採用する
というのが考えられます。前者は本当に宣言通りになっているのかが問題で、
後者は、それで本当にセクション6が適用できるのかどうかが問題です(すなわち、
regexが本当にライブラリで、それ以外が本当にライブラリを使う作品なのか)。
その上、後者ではセクション6の解釈の問題も一応あります。
どっちにしろ灰色には出来ると思いますし、どちらかを採用すれば、私見では白に
近いと思います。
0615497
NGNG> 497さんは、例えば「LGPLなライブラリをリンクして使用するBSDライセンスな
> プログラム」というものは、ソース形態ですら配布できない、という意見なん
> でしょうか?
LGPLには、そのプログラムが独立した作品だと合理的に考えられれば大丈夫と
書いてあるように思います。
その判断は難しいですが、その場合に当てはまるなら大丈夫だと思います。
0616609
NGNGそうか。section 2 に差し戻された時点ではそうなりますね。失礼しました。
>> 614
> そして、Rubyはみなせないように見えます。理由は以前書いた通りです。
結局みなせるみなせないに行き着くので、なんだかな、と。
もうちょっと改善した方がよいというのは同意します。
0617デフォルトの名無しさん
NGNG無関心でいたがるプログラマ多そうだし。
0618514
NGNG>しかし、なぜソースでの配布が問題無いのでしょうか?
ライブラリのソースでの配布に関することは、第1節(修正しない場合)と
第2節(修正する場合)ですよね?
ここを守れば何の問題もないのでは?
そして、ライブラリを利用するプログラムについても、第5節で、
「Such a work(注:"work that uses the Library"のこと), in isolation,
is not a derivative work of the Library, and therefore
falls outside the scope of this License.」
とあります。つまり「outside the scope」だと。
さらにこの後に、
「 However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because
it contains portions of the Library)」
とありますが、これはリンクして実行形式を作った場合のことです。
よってソース配布について制限を加えるものではありません。
0619514
NGNGどの辺りにあるんでしょうか?
LGPLは、どちらかというとその逆の、「ライブラリが(プログラムから)
独立していなければならない」、つまり配布されたひとがライブラリを
いじっても、そのプログラム全体と再リンクしていじることができる、
ライブラリ自体を「自由」にいじれることを求めているように読めます。
第2節にも、
Thus, it is not the intent of this section to claim rights
or contest your rights to work written entirely by you;
rather, the intent is to exercise the right to control
the distribution of derivative or collective works based on
the Library.
とありますし。
0620デフォルトの名無しさん
NGNG0621499
NGNG同意。
しかも、ライブラリ自体は他に転用できる形[*]で維持されており、
LGPLの意図を十分に尊重していると言える。
[*] 細かい部分が多いが、 ruby インタプリタと通信する部分は
律儀に #ifdef RUBY 〜 #endif で括ってある。
0622499
NGNGregex.[ch] のライブラリ性という点の主張を補強する実例となっています。
0623デフォルトの名無しさん
NGNG0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNG0626shige
NGNGむかつく。潰す。
0627497
NGNGその部分は「in isolation」や「(because it contains portions of the Library)」
の部分が重要です。
つまり、独立した作品なら「outside the scope」であり、ライブラリを含んだ場合
はLGPLによってカバーされるということだと思います。
セクション1と2に違反しなければ良いというのはその通りなんですが、セクション2に
は497で私が引用した部分があります。
> But when you
> distribute the same sections as part of a whole which is a work based
> on the Library, the distribution of the whole must be on the terms of
> this License, whose permissions for other licensees extend to the
> entire whole, and thus to each and every part regardless of who wrote
> it.
つまり、全体の一部としてregexを配る限りソース全体がLGPLに従わなければ
ならないと思うのです。
>>619
私の言い方が悪かったのかもしれませんが、「大丈夫」というのは
「LGPLに違反しない」というだけの意味です。
LGPLの目的や意図に言及したわけではありません。
0628デフォルトの名無しさん
NGNGg正規表現部ぐらい作り直せよとか思ってしまうが。
0629497
NGNG「a work based on the Library」なら全体がLGPLに従うということですね。
結局同じような意味ですが。
0630デフォルトの名無しさん
NGNGそれと相容れない部分のコードを削るなり
作り直すなりすればそれでいいじゃん
好きに使え。ただし俺を訴えるな。
ってのが一番自然だと思うんだけど。
0631デフォルトの名無しさん
NGNG0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG0634633
NGNGオンデマンドローディングとか、かっこいいとおもう。
0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNG他にドリンクが無いから。
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNG残業代+光熱費
でも仕事したくない4!
0643デフォルトの名無しさん
NGNG会社で寝泊まりって、寝袋か?
それとも仮眠室やベットあんのか?
0644デフォルトの名無しさん
NGNG∧_∧
( ´_ゝ`)
/ \
/ /\ / ̄\
_| ̄ ̄ \ / ヽ \_
\ ̄ ̄ ̄ ̄ ̄ ̄ \__)
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
|| || ||
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGきみらの気持ちは分かるが、スレ違い。
雑談スレって無かったっけ?
0648デフォルトの名無しさん
NGNGnames = [ 'foo', 'bar' ]
hash.indexes( *names ) = str.split( /,/ )
としたのですが、indexesの結果に代入はできないのか、parse error。
tmp = str.split( /,/ )
names.each_index{ |i| hash[names[i]] = tmp[i] }
だとできますけど、わざわざ一時配列なんか作りたくないんですが。
0649デフォルトの名無しさん
NGNGなら一時配列は作らなくていいんじゃないかな。
Perlの @hash{@keys} = @values; って確かに使うことはあるんだけど、
メソッドとして用意するほどのものか、というと疑問はあるんだよね。
いい案を思いついたら提案して。
0650デフォルトの名無しさん
NGNG0651shige
NGNG0652デフォルトの名無しさん
NGNG思考停止で脊髄反射してないで何か案を考えろよー。
Perlよりもよくしようという気がないなら苛めるぞ。
Rubyは配列でも何でもハッシュのキーにできるから、
hash[ary1] = ary2 で一括代入するようにはできないんだよな。
hash[*ary1] = *ary2 も []= の文法上できない。
Array とインターフェースを合わせることも考えると案外難しいし。
ということで hash.____(keys, values) という形が無難だとは
思うんだけど、メソッド名は何がいいかな?mset なんてのじゃかっこわるい。
0653648
NGNGどもです。each_with_index なんてあったんですね。
勉強になりました。
>>652
ついでにArrayにも array.____(indexes,values) という形のものが欲しいです。
0654デフォルトの名無しさん
NGNG> ということで hash.____(keys, values) という形が無難だとは
> 思うんだけど、メソッド名は何がいいかな?mset なんてのじゃかっこわるい。
少し前にMLで、obj.foo(arg1) = arg2 を obj.foo=(arg1, arg2) と等価にする
という案が出てた。これができれば解決するじゃないかな。
class Hash
def indexes=(*keys)
vals = Array(keys.pop)
keys.length == vals.length or raise ArgumentError, "length mismatch"
vals.each {|v| self[keys.shift] = v}
end
end
0655デフォルトの名無しさん
NGNG別のクラスを作って、そこにそういう機能を入れるという手はどうだろ?
試しに、別スレで作ったクラス(PerlValue)に追加してみた。
http://walrus-ruby.hoops.ne.jp/perlvalue/perlval.rb
hash = PerlValue.new
str = "hoge,fuga"
names = [ :foo, :bar ]
hash[names] = str.split( /,/ )
p hash[:foo] # => "hoge"
p hash[:bar] # => "fuga"
ついでに、こんなこともできた。
hash['あ'..'ん'] = 'ア'..'ン'
p hash[['か', 'な']] # => ["カ", "ナ"]
print hash["おまえもな".scan(/./)] # => "オマエモナ"
0656デフォルトの名無しさん
NGNG選ぶならSmalltalkをまず最初に選択した方が、将来に繋がっていくよ。
0657デフォルトの名無しさん
NGNG「その条件で」選ぶなら、rubyでも十分良いと思うけど。
ただ、それ以外に、「OOPを使ったらこんなことも(簡単に)出来るんだぁ」
というのを経験するため、という意味なら、smalltalkのほうが
良さげだな。見聞が広がるのは多分あっちのほう。
文法がメジャー路線かどうか、という話は
この際わきに置いておくとして(わら
0658デフォルトの名無しさん
NGNGなってほしくないな。もっともっとOOのよさをいろいろなシーンで実践に移してほしい。
Smalltalkマンセーな人がたくさんいる、OOを前面に押し出している某社の内情は、
「棲み分けができています」などという言葉とは裏腹に。。(自粛)
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNGいろいろなシーンってゆーけど、どうなの?
単にSmalltalk「を」いろんなシーンに適用すりゃいいんじゃねーの?
俺もこの考えはこないだまでドキュ極論に過ぎぬと思ってたのだが、
考えたらこれってまさに今Javaがやって旨くいってる路線なのな。
Smalltalk(+なんぼかのネイティブコード)でも、
パフォーマンスとかの意味で結構いけるわけじゃん。
Squeakの変態デモ(わら)とか見れば判るように。
じゃああとは適用の仕方の問題だけだ。
適用といえばどうしても思い出すのがrubyの姿勢なのだが(わら)、
unixのmakeに対するjavaのAntの「改良」点が、つまり決め手なのだと思う。
OS側のプロセスを叩く必要なんて殆ど無いんだよ。
1つの仮想機械にclassを順次ロードすりゃいいんだよ。
そのほうが(OOPの恩恵を受けるという意味で)柔軟性高いし、
速度も有利だ。
わざわざ旧来のシステムとのハイブリッド(わら)環境なんていう
うざいものに拘泥するより、Smalltalk(以外でも同じことだが:
つまりrubyだって同じことが言える)を
望むシーンに持ち込んだほうが、いろいろ良くないか?
ま、レガシーシステムのラッパーといえば聞こえがいいけどな(わら
0661658
NGNG取り付かれすぎている人間が少なくないということだよ。
いつでもどこでもいつまでも、とでも言いたげに一つの器にこだわったりな。
現状では金持ちの玩具と言ってもいいレベルのODBを在庫管理やまして
勘定系にまで推してくる輩には閉口する。
ライフサイクルというものを考慮に入れずに再利用性云々を口にするのも
なんだかなーと思う。うまく適用できたときの感慨はひとしおなんだが、
いつのまにか見合わない労力をかける悪癖が身に付いてしまうようでは
本末転倒。
0662658
NGNG楽しかったりするのだけど、やりすぎや思い込みは禁物ということで、
ほどほどに。
0663デフォルトの名無しさん
NGNGそれを言っちまったら、rubyの…はどうでもいい(!)として、
OOPの、立場が無いんじゃないの?
立場ってのはナニかってーと、今実際にこれだけOOPが流布
していることの、「説明」がつかないじゃんか?ということ。
未来や過去のことじゃなくて。もろに1つの器じゃん。
色んなシーンね。ああ。
かったるいシーンを含めるっていう意味だったのか。
うーん。出来れば割り当てられたくない仕事だな。
というかもうお腹いっぱいというか。
蛇足だが、
>いつのまにか見合わない労力をかける悪癖が身に付いてしまうようでは
fork()について全く同じことを感じるよ。
まさかJavaごときに、「本当のOOPらしさ」という点で
足元すくわれるとは、思ってなかったなあ…しみじみ…。
プロセスなんて捨て捨て!という時代が、
多分そこまで来てるんだろうな。
0664デフォルトの名無しさん
NGNG例えばOSという軸について切ってみる。
Rubyの現在のプライマリターゲットはやはりUNIX/POSIXとなっている。これは、
Windowsもが多くを受け入れたAPIだから、応用範囲を確保する意味では妥当と
言えるだろう。
その哲学をRubyはOOで斬って見せた。それが俺の言っている「シーンへの適用」の一例だ。
泥臭い仕事は泥臭い言語(Perlなど)でやらなければならないというパラダイムを崩してみせたわけ。
もちろん、RubyのコアがUNIXに依存しているわけではないから、WindowsというOO世界とRubyの
相性が悪くない(どころか抜群である)ことを実証している人たちもいる。
0665デフォルトの名無しさん
NGNG何で「これだけOOPが流布して」いるのにエージェント指向なんてのが出てきたか、
説明できないじゃんか。
0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNG0670愚痴
NGNG0671デフォルトの名無しさん
NGNGそういうの取っ払った、ruby自体の話題きぼん。
0672デフォルトの名無しさん
NGNG0673デフォルトの名無しさん
NGNG>Windowsもが多くを受け入れたAPI
おいおい。ありゃ、米国防省かどっかが
「これからPOSIXなOS以外は買わないよーん」と
言い出したから慌ててつけた機能だろ(わら
国防省だかが「技術的に十分よい」判断をしたかどうか?は別問題だ。
あの時期なら、単に消極的に「他の選択肢が無かった」とも言えるだろし。
>RubyのコアがUNIXに依存しているわけではないから
だから、
require 'unix'
っていう風にしろって。
require 'win32api'
と同じにさ。
>何で「これだけOOPが流布して」いるのにエージェント指向なんてのが出てきたか
エージェント指向は、ドキュな偽指向だ、ということで
結構評判は定着してたと思ったが?
というかmatz氏にもサクっと無視されてるしさ。
エージェントなんぞより、氏の「パラダイムシフトは
2回しかなかった」説のほうが、まだしも納得できるよ。
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNG煙たがってるだけだろ。
Rubyはエージェント指向を考慮すると糞言語になってしまう
かもしれないしな。
0676デフォルトの名無しさん
NGNG最近は話すら全然聞かないのだが、ポシャってないの?
OOPの次というかもっと「高級」なものは、
いずれ出ないと駄目なのは間違いないが、
エージェントがそれだとは、ちと思い難い。
>Rubyはエージェント指向を考慮すると糞言語になってしまう
よし!きみ、指向^H^H思考実験スタート!
「エージェント指向つきになったruby」が
どんなソースになると思われるか、試しに書いてみてくれ!
とりあえず実装できるかどうか考えるのは(何年も)後回しでいい!
「ほら!エージェントだとこんなに楽!」ってのを見せてくれ!
0677ぎこるび
NGNGエージェント指向ってプログラミングのパラダイムなんですか?
0678デフォルトの名無しさん
NGNG0679ぎこるび
NGNG激しく印象批評します。
*セキュリティが怪しそう。
*モバイルエージェントが本当にモバイルしたらトラヒックがすごそう。
*マルチエージェントは効率悪そう。
そういえばエージェントのスレってないですね。
情報システム板向きの話題?
0680ぎこるび
NGNGカコワルイので帰ります…
0681デフォルトの名無しさん
NGNGこれが本当に「現実のモデル化」になっているのか?
どっちかというと「願望のモデル化」に思えてならない。
弱い生き物である人間の、御都合主義な「願望」だ。
世界と旨く適合する保証がどこにもない。
Eコマース用語らしきものがいきなり氾濫してるのも胡散臭げ。
それはともかく、これはフレームワークの域だなあ。
0682デフォルトの名無しさん
NGNGmswin32の1.6.3を使っているものですが、ちと悩んでます。
array_x = ["a","b","c","d"]
array_y = array_x
array_y.delete_at(3)
この時点で、array_yが["a","b","c"]になるのはわかるのですが、
array_xまで["a","b","c"]になってしまうのが腑に落ちません。
これはRubyの仕様?なのでしょうか?
0683デフォルトの名無しさん
NGNGrubyの定番FAQっすな。
変数は(ほぼ)全部、参照です。ポインタです。矢印です。
ポインタを=で代入しても、Objectの「コピー」はされません。
もとのObjectをコピーした別のものが欲しければ、dupとかしましょう。
array_x = ["a","b","c","d"]
array_y = array_x.dup
array_y.delete_at(3)
これでお望み通りかと。
ちなみに、こんなの面倒だという奴が後を絶たないようだが(笑)、
実はrubyのこの仕様のほうが便利なんだな。
というのは、=でコピーされるようにしちまうと、
複数の変数が同一のモノを指すってのを
どう書くんだ?という心配をしないとならなくなる。
#あるいは、Cみたいに新しい記号(ポインタ演算子とか)を導入して
#地獄道にはまるか(笑)
0684デフォルトの名無しさん
NGNGrubyは知らないけど、恐らく=で変数から変数へ代入しただけでは、
データの参照が増えるだけで、データそのものはコピーされない
んでしょうね。
データを完全に複製するメソッドが別にある筈です。
それを使いましょう。
0685ぎこるび
NGNG>>682
array_x と array_y が同じであることは id メソッドで分かります。
irb(main):001:0> array_x = ["a","b","c","d"]
["a", "b", "c", "d"]
irb(main):002:0> array_y = array_x
["a", "b", "c", "d"]
irb(main):003:0> array_x.id
84366440
irb(main):004:0> array_y.id
84366440
複製をしたいときは dup や clone を使いますが、そこにも罠が。
http://www.isc.meiji.ac.jp/~ce11725/ruby/tips/dup.html
この辺りの質問って公式のFAQにありましたっけ?
0686デフォルトの名無しさん
NGNGありがとうございます。今デスクトップリファレンスで確認しました。
危うくバグ発見とか抜けたことをMLに投げるところでした(^^;
0687デフォルトの名無しさん
NGNGrubyのFAQというか、これはOOP全体のFAQだな。
今、結城さんのデザパタ本を読んでみてるんだが、
当然のようにそこでもshallow copyについての指摘が出てくる。
で、その問題からヘタに逃げようとしたばっかりに
逆に泥沼にはまったのが、C++の変数埋めこみObjectな(わら
逃げられないんだってば、OOPでは本来。
>データを完全に複製するメソッドが別にある筈です。
それは(特定のclassの話じゃなく)一般論っすか?
だとすればそれは「無理」っす(^^;
だって、どこまで(ポインタを手繰ること)をもって完全と呼ぶか?を
一意に言えないっしょ。
0688デフォルトの名無しさん
NGNGこういうことだったんですねー。
>>685 リンク情報ありがとうございます。今読んでます。なるほど・・・
0689デフォルトの名無しさん
NGNGdebug.rbは試した?
0690684
NGNG同一
同値
同表現
の3つを別個として考えます。
0691デフォルトの名無しさん
NGNGMS-C/VC++の標準ライブラリにはANSI Cの範囲を超えてUNIX互換関数があるし、
そもそもWindowsのTCP/IP(含Winsock)やファイルI/Oやファイルシステム操作って
UNIXのサブセットにしか見えないんだけど。
Windowsが標準でサポートしていない範囲を require 'unix' に追い出せ、
ということなら別に誰も外すにやぶさかじゃないだろうけど、むしろWin32向けに
がんばって独自に関数を用意しているところなんかは便利な気がするんだけどなあ。
具体的にWin32で不自由なところはどこかな?そしてそれはActivePerlなんかでは
どうなってる?なぜそんなことを聞くかというと、もしMSの資金でやっている
ActivePerlでさえダメなら、Rubyに望むのは酷ではないかと思って。
0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNG歴史を無視した発言
0694デフォルトの名無しさん
NGNGWindowsユーザがその点について何も作ってこなかったという歴史か?(藁
標準にこだわる前にまずはデザインして作ってみりゃいいじゃねえか。
二年も三年も経つんだから、愛想を尽かすか手を動かすかはっきりしろって。
0695デフォルトの名無しさん
NGNG0696670
NGNGまだバグは取れていないけど、
printデバッグの苦しみから解放されそうです。
0697デフォルトの名無しさん
NGNGRubyUnit使ってる?
http://homepage1.nifty.com/markey/ruby/rubyunit/
0698670
NGNG急ぎ用のプロトタイプを作成していたので、
メンドイからいいや、と思っていたのですよ。
したら、これだもの・・・
結論:どのみちRubyUnitを使った方が効率イイらしい。
0699デフォルトの名無しさん
NGNG>Windowsが標準でサポートしていない範囲を require 'unix' に追い出せ、
いや、ちょっと違う。
二つのOSのことしか考えない、というわけじゃなく。
template methodパターンみたいなもんだが、
Winだのunixだのの具体的OSに依存しそうなところは
「全部」追い出せばいいのよ。
少なくとも1+1やiteratorはOSには依存するまい。
forkやselectはばりばり依存だな。
(rubyにゃ無いが)CreateProcessもそう。
Threadは依存しないがタイマを参照する部分「だけ」がOSに依存する。
…そんな感じ。必ず全てにおいてきちんと線が引けるとは
言い切れないけど、だいたいは出来るんじゃないのかな?
そういやPalmに乗せようとしてる人がいるってのは本当?
これでOSは3つ目か(わら
そういや昔はMac版もあったんだったよね。
一応4つ目。
0700デフォルトの名無しさん
NGNGDirクラスやFileクラスを標準で抱え込んでいる時点で、
ファイルシステムを持っているOSに依存しているような気がします。
実際ruby(コマンド名)を動かそうとすればそうなるのは当然なのですが、
逆にいえばファイルシステムの機能が無いOSへの移植は困難
または手間がかかる、ということではないでしょうか。
もしそうなら、文法周りや、他への依存性の無いクラスやモジュールだけで
作られたRubyの実装というのがあれば、他のOSというか環境への移植や、
アプリケーションへの組み込みも楽になるのではないかなぁ、と考えてます。
…考えるだけじゃだめなんだけど、やる時間がなくて…。
0701shige
NGNGThe End
----------------------------------------------------
0702デフォルトの名無しさん
NGNGfs がない OS で scipt lang を使うのか? っていう問題が。
とはいえ、POSIX 準拠以外の OS 以外頭に浮ばなかったから、ヲレに
とっては新鮮な視点でした。ありがとう。
0703700
NGNGああ、ごめんなさい。>>700の「ファイルシステム」は「特定のファイルシステム」と
読み替えた方が問題無いと思います。元の文のままでも良いですけど、
ちょっと現実味がないですね。読み替えたら読み替えた出と別の意味に
なってしまったけど。ゴメンナサイ。
それはともかく、後半の「文法周りや、他への依存性の無いクラスや
モジュールだけで作られたRubyの実装」が欲しいというのが一番
言いたいことです。ただこれも現実的ではないかな、と思ってます。
というか、松本さんは書かないだろうなあ、と。
0704デフォルトの名無しさん
NGNG超同意。Fileのことを失念していました。
確かにFileが格好の例です。
実際、linkという概念はunixにはあるけどwinには無いなど、
結構差があるわけで。MacやBeだとまた色々違うし。BTRONも。
>>702
FSが無いと使わない、と思う辺りが既にUNIXどっぷりの思考規定状態です。
そういやPalmにも移植するって言ってる人がいたんでしたよね。
PalmにゃFSないですよ(笑)。俺も驚いたんだが。
まぁえらく違う概念のもの(データ永続手段)はあるけどね。
あの移植を指差して徒労と呼ぶ度胸は俺にはないですし、
実際動くようになったら超便利だろうなと期待してます。
Fileについては、他の幾つかの言語のライブラリでは
「Stream」などというクラスが用意されている場合がありますね。
Streamはデータをシリアライズしてやり取りできる行き先(笑)
であるわけで、ファイル名があるかどうかは別問題
(それは別のクラスで表現する)です。MemoryStreamとか
NetworkStreamとかが兄弟クラスとして存在します。
OSレベルで「全部ファイルだ」という無茶な抽象化を
してるUNIXとは違うのだよUNIXとは(わら)。つまり
Streamという抽象概念が一発あって、そのサブとして
Fileなりなんなりがあるという。
で、あれはOberonだったと思ったけど、いわゆるファイルは
ファイル名クラス、Streamクラス、Openしてアクセスするiterater
であるところのRiderクラス、の3つだかで表現されてるそうです
(友人からの伝聞御免)
これくらい分けてくれると「綺麗」と呼べるですね。
あとrubyでIO「クラス」ってのが痛い。
あれがIO「モジュール」になっていて、かつその根底に
いきなりPOSIXの意味のIOが癒着(わら)してなければ
結構すっきりしたのにな。
名前(matz氏もそれを重んじるべきであることは認めてる)から
察するにこれが上記Streamに近いものとなったであろうに、
rubyではいきなりPOSIX。他の用途に転用できない。
そりゃ同じメソッドのクラスを全然別に自作すれば済むわけだが、
OOP的な姿としては、ちと釈然としないものが残る。
0705名無しさん
NGNG使う事が出来なかったんで萎えた事があったなぁ。
0706Rubyは絶対に流行りません!
NGNGPerl(PS)よりも優れた仕様を持っていても、
見向きもされなきゃ駄目なわけよ。(ヒャハ!
0707デフォルトの名無しさん
NGNGついでに言えば、ある程度普及した後で流行らないだのって煽りは間抜けなわけよ。
0708デフォルトの名無しさん
NGNGeach,each_byteと<<を使えばIOもStringも同じように使える。
それでいやならStringIO使う。
0709デフォルトの名無しさん
NGNG0710名無しさん
NGNGStringIOなんか無いよ?
Rubyのサイト行っても出てこないし。
0711チャカポコ
NGNG0712デフォルトの名無しさん
NGNGたしかにRAAにないね…。
MoonWolfさんのとこ。
http://www.moonwolf.com/ruby/archive/stringio01.zip
しかしraise "EOFError"はなんか違うだろう…。
0713デフォルトの名無しさん
NGNG出ないのならば、else ifの方を好みで使いたいのですが。
出るのなら、大差はないとて、ステップ数の少ない方を用いますけど。
0714デフォルトの名無しさん
NGNGバイトコードにでもコンパイルされる言語なら一度読んでしまえば
結果は同じだけど、Rubyはどうかな?
0715714
NGNG0716デフォルトの名無しさん
NGNGelseifでいいじゃん。
0717デフォルトの名無しさん
NGNGelse と if を両方閉じないといけなくなるでしょ。
if cond
# ..
else if
# ..
end # ifの分
end # elseの分
elif や elseif でなく elsif にしてある理由はラクダ本に載っていた気がする。
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNGほとんど出ない。elseもブロックをとるから、一〜二回NODEをたど
る回数が増えるが、ブロックの中が単一の文ならループで処理して
しまうので再帰にはならないのでオーバーヘッドは大したことはな
い。
でも>>717の理由からelsifの方を勧める。
0720719
NGNG0721ぎこるび
NGNGそれはともかく適当に面白そうなプログラムを拾ってみます。
(Rubyist! http://www.rubycolor.org/r/ )
*migemo
ローマ字のまま日本語をインクリメンタル検索するためのツール
http://migemo.namazu.org/
Rubyで実装。便利そう。Mewdowで試してみようかな。
*Ruby/DL
dynamic linking loader のインタフェイスライブラリ
http://kt-www.jaist.ac.jp/~ttate/ruby/ruby-dl.html
dl*()が無いとだめ、記述が特殊になる、
の2点を気にしなければ有用ですね。
0722713
NGNGそれをすっかり忘れていました。
んじゃ、素直にelsifを使います。
07236
NGNGhttp://www.topmode100.com/ranking/rankem.cgi?id=jtn0f
http://www.topmode100.com/ranking/rankem.cgi?id=jtn3f
0724700
NGNGhttp://www.rubycolor.org/r/about.html に
> 現状ではRubyist! Project Teamは現状(2001年7月現在)
> 高橋がひとりでやってます。でも、さみしいのでそのうち誰かを
> 勧誘するつもりです
とあります。
0725デフォルトの名無しさん
NGNGタイトルの絵とページの配色に異様なセンスを感じる。。
>まつもと ゆきひろさん、Ruby関連ML、www.ruby-lang.org などの
>活動との直接的な関係は一切ありません。
Ruby Home PageのWhat's newに情報を集めた方がいいと思うけど。
0726デフォルトの名無しさん
NGNG開いたけどとっさに閉じてしまった。
職場だったので(w
0727デフォルトの名無しさん
NGNGうん。CD2WAVのページも、とても会社で開けたもんじゃない。
0728デフォルトの名無しさん
NGNGhttp://homepage2.nifty.com/sakazuki/rde.html
0729名無しさん
NGNGRubyのIDE使ってみたのは初めてだけど、こういうのもいいかも。
識別子の入力補完が出来る奴は無いのかなぁ。
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNGRubyist!のページの色が変わったよ。
どない?
0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNG「会社で開けたもんじゃない」ページになってしまっているのは、
ページ色使いよりはいちばん上の「オブジェクト少女Rubyちゃん」では?
# 違うのかな。
0734デフォルトの名無しさん
NGNGまつもとさんのRuby本以外に2冊でるってこと??
それは目出度い!
0735デフォルトの名無しさん
NGNGERuby::import(filename)
みたいなことを実現したいんですが、簡単にできますか?
単にファイルを読み込んだ文字列を表示させるだけではダメですよね。
(読み込み対象ファイルの中にも<%〜%>の記述を入れたい)
0736デフォルトの名無しさん
NGNGttp://www.imasy.or.jp/~hisa/ruby/
0737デフォルトの名無しさん
NGNGOSXでは完璧なのにね。
OS9は氏んだね。
0738デフォルトの名無しさん
NGNGインストール可、というところも歓迎です。
0739デフォルトの名無しさん
NGNG> OSXでは完璧なのにね。
何を指して完璧といっているのかわかりません。
make testが通る、という話ではありませんよね。
> OS9は氏んだね。
これって「MacOS9以前対応版Ruby」ってことですよね。
OS自体をさすならば、OS8.5を使っている僕はゾンビですか。
OS9以前のサポートは欲しい。
0740デフォルトの名無しさん
NGNGOS9以前は「おもちゃ」だから
0741デフォルトの名無しさん
NGNGJava2もまともに動かないみたいだけど
0742デフォルトの名無しさん
NGNGOS8にて、Finder(デスクトップ操作)がマルチスレッドになった位ですな。
0743デフォルトの名無しさん
NGNG日本では出ないのかえ。
0744デフォルトの名無しさん
NGNGどれくらい「マルチタスクが駄目」かというと、なまじ駄目なために、
(自前の擬似マルチタスクで動くような)音楽アプリが
却ってwinより作りやすい、というくらいに(わら)、駄目だ。
おかげで、今までの音楽畑の客を絶やしたら困るんで、
Unix系なのにリアルタイム能力もきちんと出すべく
OSXの開発陣は相当苦労したらしい…
もちろんそれ自体は立派なことなんだけど、
ふりかえって考えれば、なんだかなぁ…と。
0745739
NGNGMacOS9以前でRubyを動くとうれしい、というのが本題です。
ただ、「使いたい」と思う頻度が少ないので、
そこらへんを調べたりするモチベーションも上がりません。
また、MLを読んだりする分にはMacOS対応を希望する人の
声があまりない(ように見えた)ので、需要もないのでしょう。
>>744
> (自前の擬似マルチタスクで動くような)音楽アプリが
> 却ってwinより作りやすい、というくらいに(わら)、駄目だ。
それがだめかどうかってのは、ユーザの立場で変わりますよね。
シーケンサ使っていますので、私にとっては好都合ということで。
「マルチタスクOSとして正しくない」って話はしません。
というかそろそろスレ違い気味です。ごめんなさい。
0746741
NGNGマルチスレッドってOSレベルでちゃんと実装されてないと
その上で動く言語でもかなりの制限を受けるんじゃないかと思っただけ
0747739
NGNG(いわゆる)スレッドの機能がないOS上でも
Rubyのスレッドは使えます。
0748739
NGNGああ、脊髄反射してしまった。
> (いわゆる)スレッドの機能がないOS上でも
> Rubyのスレッドは使えます。
とは書きましたが、ちょっと自信ありません。
ごめんなさい。
0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNG使えます。
以下のページをどうぞ。
http://www-6.ibm.com/jp/developerworks/linux/ruby.html
>749
「疑似的」じゃなくて
OSのネイティブスレッドを使用していないっていうだけでしょ?
0751739
NGNGフォローありがとうございました。なるほど。
0752デフォルトの名無しさん
NGNGJDK の green_thread みたいなもんです。
どんな環境でもスレッドが使えるのはいいんだけど、
カーネルレベルで動くスレッドよりは重いし、
SMP の恩恵を受けたりはできないらしいです。
0753デフォルトの名無しさん
NGNG> カーネルレベルで動くスレッドよりは重いし、
情報源はどこですか? 一般には、ユーザ空間のみで実装されたスレッドのほう
が
1. カーネルモードとユーザモードの切り替えが不要(特にスレッド間の同期を
とる場合に、カーネルを介入させずに済む)
2. カーネルスタックが一つで済む
分だけ高速です。逆に、カーネルスレッドに支援されたユーザスレッドが有利な
のは次の点。
1. マルチプロセッサを効率的に利用できる
2. 同期システムコールを呼び出した際でも、呼び出したスレッドがブロックさ
れるだけで、他のスレッドは実行を続けられる(ユーザ空間のみで実装され
たスレッドでこの問題を回避するには、非同期システムコールを使うことに
なる)
0754デフォルトの名無しさん
NGNGたぶんamazon.co.jpで手に入るんでは。
Programming Rubyは買えましたよ。
0755デフォルトの名無しさん
NGNGhttp://japan.cnet.com/Newsmakers/Ruby/
0756デフォルトの名無しさん
NGNGさっそく、上司に読まします。。藁
0757デフォルトの名無しさん
NGNG実装を見ればわかるけど、スタックをヒープにコピーしておいて
書き戻し、とかやってるので Ruby のスレッドはちと重いのです。
単純/強引な実装だからこそ、どの CPU でも OS でも動く。
0758デフォルトの名無しさん
NGNGとなると、「ユーザーレベル」であることは問題じゃなくて、
Ruby の実装が重いのかー? :-(
はっきり示せる情報源は まつもとさんの Ruby 本 です。
231 ページ スレッドを使って外部イテレーターをつくるとこ
> もっともスレッドはやや「重たい」道具なので
420 ページ setjmp/longjmp を使った Ruby のスレッドについて
> コンテキスト切り替えのためにスタック領域のコピーがおこりますので、
> 決して効率が良くありませんが
0759デフォルトの名無しさん
NGNG>はっきり示せる情報源は
ソースコード読めよg
0760デフォルトの名無しさん
NGNGすると「スタックは」ネイティブなものを使ってるわけね…?
スタック自体を自前で作るなら、別にコピる必要もなく、
スタックポインタのほうを次のスタックを指すように
いじっちまえば十分なはずで。
0761デフォルトの名無しさん
NGNGそう。ただ「スタックポインタをいじる」のもあんまり
やりたくないんじゃないかな。アセンブラは書かない
方針だと思う。(GC のとこでちょっとだけ使ってるけど
まつもとさんが書いたのではなさそうだし)
じゃーなんでネイティブスレッド使わないかというと、
pthread にはスレッドの開始アドレスを取る API が
ない (→ conservative GC できない) から。
でも最近ではコンパイラが最適化かけるとローカル変数
自体がなくなっちゃって、結局 volatile 連発しないと
いけないからもう conservative はいらないのかなあ、
というのが今のところの流れ。
0762デフォルトの名無しさん
NGNG半可通未満(つまり厨)のたわごとなんですが教えてください。
>「スタックポインタをいじる」のもあんまり
>やりたくないんじゃないかな。アセンブラは書かない
>方針だと思う
「ネイティブではない」つまりCPUレベルではないスタックなら、
(Cとかで)自作するだろうからアセンブラとは関係ないと思うのですが。
ネイティブじゃないスタックは(効率とかの理由で)論外なのでしょうか?
>pthread にはスレッドの開始アドレスを取る API が
>ない (→ conservative GC できない) から。
threadを把握する構造体というか変数というかが持っているポインタ(の変数)を
GC側で把握可能にしておいてあれば、それで済むのかなと素人考えでは思うのですが、
そういうものではないんでしょうか?
0763761
NGNGhttp://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~poffice/mail/ruby-list/29735
0765デフォルトの名無しさん
NGNGあ、ごめん。「スタックポインタ」という語に誤反応してしまった。
たしかに全部ソフトウェアスタックで作ればアセンブラは関係ないです。
一方それで(現在の実装を)置きかえられるかというと、無理っぽい。
Ruby には rb_yield() とか rb_raise() rb_break() みたいな API が
あるので、Ruby レベルと C レベルのスタックを一致させて動作する
必要があるんです。このへんも「拡張ライブラリの作りやすさ」の
重要な要素なので、その兼ね合いで決めたんじゃないかな。実際、
「昔ソフトウェアスタック版も作ったけど」とまつもとさんが言っていた。
速度が問題ならば現在の実装がそもそも論外でしょう。
> threadを把握する構造体というか変数というかが持っているポインタ(の変数)を
> GC側で把握可能にしておいてあれば、それで済むのかな (略)
ん? どういうことだろう。ネイティブスレッドの場合、「threadを
把握する構造体」はシステム側が管理してるわけだから、そっちが
教えてくれなければそもそも Ruby が把握できないですよね。んで
なんで pthread の仕様がそうなってるかと考えると、別スレッドの
スタックにアクセスできない実装があるからじゃないか、と思うの
だけど、どうだろう(このへんは詳しくないので……)。
0766デフォルトの名無しさん
NGNGならばそのソフトスタックにCでアクセスするAPIが有ればいいのでは…
って、あんまりやりすぎたらForthになっちゃうか(わら
>別スレッドの スタックにアクセスできない実装
なるほど。そういえばスタックは残念ながら(わら)threadの所有物ですね。
単に情報隠蔽の見地から「不要な」APIの追加を控えたのかも。
0767デフォルトの名無しさん
NGNGCマガジン7月号の組み込みrubyがおもしろそうなのでサンプルのTest1.cを
bcc5.5.1でコンパイルしてみました。
Error: 外部シンボル '_ruby_init' が未解決(D:\DESKTOP\RB\TEST1.OBJ が参照)
Error: 外部シンボル '_rb_eval_string' が未解決(D:\DESKTOP\RB\TEST1.OBJ が参照)
でてきて失敗しました。
どなたかbccでコンパイルに成功した方はいますか?
0768ぎこるび
NGNGhttp://www-106.ibm.com/developerworks/linux/library/l-ruby1.html
英語ですけど新本情報
Sams Teach Yourself Ruby in 21 Days (by Mark Slagell)
http://www.amazon.com/exec/obidos/ASIN/0672322528/qid%3D995860350/sr%3D1-4/ref%3Dsc%5Fb%5F4/102-0905562-6172951
Ruby Developer's Guide (by Michael Neumann)
http://www.amazon.com/exec/obidos/ASIN/1928994644/qid=996904201/sr=1-3/ref=sc_b_3/102-0905562-6172951
The Ruby Programming Language (by Matz)
http://www.amazon.com/exec/obidos/ASIN/020171096X/qid=996904201/sr=1-4/ref=sc_b_4/102-0905562-6172951
「独習 3週間で覚えるRuby」の内容が気になります。
0769ぎこるび
NGNGRuby 本体は何でコンパイルされたものを使ってますか?
たしか C マガ付属の Ruby は Cygwin 版エントリーパッケージですよねえ。
あれはヘッダファイルがないですけど。
ヘッダファイルがあって DLL ファイルもあるなら、
>implib ruby.dll ruby.lib
>bcc32 -w test1.c ruby.lib
とか。
0770名無しさん@野次馬
NGNGWIN32バイナリに落ちた。
なお、rmコマンドが要るんで下のURLのツールを使うのが吉。
http://www.weihenstephan.de/~syring/win32/UnxUtils.html
0771デフォルトの名無しさん
NGNG0772ぎこるび
NGNGという理由みたいです。
たぶん win32/Makefile.sub をちまちま直せば回避できると思います。
0773ぎこるび
NGNGという理由みたいです。
たぶん win32/Makefile.sub をちまちま直せば回避できると思います。
0774ぎこるび
NGNG0775デフォルトの名無しさん
NGNGどうすればそういうことになるの?
1.7のwin32/Makefile.subはrmを使わないようになってる。
0776ぎこるび
NGNGもし Java-Swing より遅いならいらないなあ。
Virtual Machine
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/14209
Common GUI framework(Re: Virtual Machine)
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/14211
>>775
2ch のスクリプトには謎が沢山あるようですです。
>1.7のwin32/Makefile.subはrmを使わないようになってる。
見ました。 @if exist 〜 del 〜 が十数行も並んでいて壮観ですね。
0777ぎこるび
NGNG閉じた環境にされるのは嫌です。
ところで、 1.7 って速いですねえ。
for i in 0..10
str = ""
for j in 0..10000
str << j.to_s
end
end
ruby 1.6.4 (2001-05-29) [i686-cygwin]
real 0m2.504s user 0m2.453s sys 0m0.050s
ruby 1.7.1 (2001-07-31) [i686-cygwin]
real 0m1.271s user 0m1.231s sys 0m0.050s
0778デフォルトの名無しさん
NGNGJavaみたいになればRubyやめます。
…たぶんやめられないけどね。
0779デフォルトの名無しさん
NGNGならんて。
0780デフォルトの名無しさん
NGNG> ところで、 1.7 って速いですねえ。
String#<<は1.7で変わったから。やっぱりこういうよく使うところの
最適化は効くようだ。
0781デフォルトの名無しさん
NGNGHTTP/1.1 200 OK
Date: Fri, 10 Aug 2001 09:56:41 GMT
Server: Apache/1.3.20 (Unix) Debian/Alpha mod_ruby/0.8.5 Ruby/1.6.4
Content-Location: index.html.ja.jis.old
Vary: negotiate,accept,accept-language,accept-charset
TCN: choice
Last-Modified: Wed, 20 Jun 2001 07:03:20 GMT
ETag: "f9ed-1851-3b304ab8;3b6e6b01"
Accept-Ranges: bytes
Content-Length: 6225
Connection: close
Content-Type: application/x-trash; charset=iso-2022-jp
Content-Language: ja
Expires: Fri, 10 Aug 2001 09:56:41 GMT
0782デフォルトの名無しさん
NGNG>それは既存のGUIライブラリのラッパとして共通のインターフェースがあればというライブラリまたはフレームワークの話であって、VMとはまったく関係ないと思いますが。
>>777
>閉じた環境にされるのは嫌です。
いい話だ。お父さんよく聞いておけよ。
ついでにrequire 'unix_syscall'で
OS依存部分をあらかた外に出しちまえ(藁
require 'win32API' と、これでアイコだ。
ところで、どうして「既存の」GUIライブラリと決めつけてるんだろう?
新規に作ってもいいんだがな。
蛇足だが既存GUIのGUI部品をそのまま流用するのが常に快適とは
言えないという事情もあったりする。GUI部品からフルスクラッチ
するほうが却って要らぬ制約がなくて良いということも…。
というか逆に考えると、「既存の」ならば「閉じた環境」にはならないよねえ?>>きごるび氏
rubyみたいなscript言語(に限らぬが)が持つ関数/メソッドの多くは
すべからく「既存のなにかのラッパー」だったりするけど、
だからといってそれを「閉じた環境」とは呼ばないでしょ?
0783デフォルトの名無しさん
NGNG> ところで、どうして「既存の」GUIライブラリと決めつけてるんだろう?
> 新規に作ってもいいんだがな。
そりゃめんどくさいからだYO。
> というか逆に考えると、「既存の」ならば「閉じた環境」にはならないよねえ?>>きごるび氏
> rubyみたいなscript言語(に限らぬが)が持つ関数/メソッドの多くは
> すべからく「既存のなにかのラッパー」だったりするけど、
> だからといってそれを「閉じた環境」とは呼ばないでしょ?
概念の実装をラッパーと実装の再ラップは別でしょ。
0784ぎこるび
NGNGttp://www.area-s.com/main/sos.html
>>782
>VMとはまったく関係ないと思いますが
その突っ込みは当人にお願いします…
>require 'unix_syscall'で
require 'fs' でファイルシステムを、require 're' で正規表現を、
require 'ruby' で Ruby の言語機能を(以下略)
こういうミニマリスムはワンライナーの敵かと思いますです。
Ruby ユーザはその適当な偏り具合が具合が良いと感じているわけで(たぶん)。
>新規に作ってもいいんだがな
VisualuRuby がそんな感じかも。
>「既存の」ならば「閉じた環境」にはならないよねえ?
ですねえ。
「こっちではわざわざ用意しないから、
その環境に合わせたやり方でやってよ」
というのが glue なスクリプト言語の方針だと思っています。
0785デフォルトの名無しさん
NGNG>>555 みたいなこともあるんだから、Windows サポートの苦情が
チクチク上がったらネを上げるんだろうねぇ
0786デフォルトの名無しさん
NGNGひろゆき
何気に似てるな。。
0787デフォルトの名無しさん
NGNG「まつもとひろゆき」って書かれたことがあったとおもふ
0788デフォルトの名無しさん
NGNG別に誰もWindowsをサポートしないと言ってるわけじゃな
いんだから、「ネを上げる」っていうのは違うような。
むしろWindows関係は手が足りなくて「ネを上げ」てると
いう感じ。
0789デフォルトの名無しさん
NGNG>こういうミニマリスムはワンライナーの敵かと思いますです。
このての概念をミニマリズムの一言で蹴ろうとする風習は、なんか強いねRuby方面は。
コンパイルオプションで切り離せばいいんじゃないの?
乱暴な御伽噺としてだが、unixならunix_fxとかを、winならwin32apiとかを、
静的リンク(そしてデフォrequre済み)になるようにすればいいじゃん。
ところで、つまり「rubyを(Cから)Javaに移植するのは、無理」なのだろうね。
随分前にそういう話もあったはずだが…消えちゃった…
rubyはunix/Cの世界に馴染むようになっちゃってるんで、
既にunixとは違う方向性を結構はっきり打ち出す(のに成功している)Javaに
rubyの雰囲気を持ちこむのは、難しいんじゃないかと。
とりあえずselectはJava1.4が元気になるまでは使えない、とかさ(藁
まぁ使えないAPIだらけでGOするってならソレはソレだけど。
>Ruby ユーザはその適当な偏り具合が具合が良いと感じているわけで(たぶん)。
その手の発想は、(誰かが打破しない限り)永遠に続くトートロジーじゃないかな。
unixer(だけ(極論だが))が集まる。rubyがそれ方向になる。更にunixerが集まる。
いわゆるPositive Feedback。定方向進化。
もっとも絶滅するとは限らない。それは「環境」の激変が今後有るかどうかに依存するので(藁
0790デフォルトの名無しさん
NGNG> ところで、つまり「rubyを(Cから)Javaに移植するのは、無理」なのだろうね。
> 随分前にそういう話もあったはずだが…消えちゃった…
とりあえず訂正しておくと、Javaに移植するのが難しいのはVALUEの
実装のため。ライブラリの問題はあまり関係ない。
0791デフォルトの名無しさん
NGNGああ。VALUEはアドレス演算の更に裏技みたいなもんだから、
行儀良い参照しか出来ない(そういう変数型しか持ち得ない)Javaでは困るだろうね。
でもそれは「一つ目の」山だろう。二つ目以降も山はある。一難去ってまた…
それにしても、Valueクラスを作ったら…さぞ遅いだろうな(藁
辞書に全Object(とFixnum)をぶら下げるってのも現実的じゃないし。
Pythonの整数は、あくまで普通のObjectであり、
起動時にテキトウに幾つか生成しといて使いまわす、ってことだっけ?
0792Ruby房
NGNGRubyでStringTokenizerを作ろうとしているのですが
C言語みたいに
c=txt[i]
if '0'<=c && c<='9'
とするとエラーになってしまいます
txt.each_byteで配列に格納して
if 0x40<=c && c<0x4a
とすると上手くいきますが、嫌です
どう書くのが綺麗で見易い方法なのでしょうか?
0793792
NGNG0794デフォルトの名無しさん
NGNG数値(Fixnum)にしたいのであれば?aじゃなかった?
if ?0<=c && c<?9とやってみて
0795デフォルトの名無しさん
NGNGせっかく Ruby で CGI 組んでもアップできるプロバイダが無い。
しょうがないんで自分でテキスト処理とかするときにつかうんだけど、それだったらEmacs Lipsのほうが便利。
エディター内で直接実行できるの最強だよ?
結局いつ使うんだい?
0796デフォルトの名無しさん
NGNG1文字づつ分解したいときは、
"string".split(//) で配列にするほうがいいとおもうよ。
each_byte だと 1 バイトごとの分解だから
日本語の扱いとかがめんどくさくなっちゃう。
0797デフォルトの名無しさん
NGNG> どう書くのが綺麗で見易い方法なのでしょうか?
正規表現を使う。
0798790
NGNG> でもそれは「一つ目の」山だろう。二つ目以降も山はある。一難去ってまた…
山はいっぱいあんのよ、どのシステムだって。たとえば、またぞろ
ライブラリ中のmalloc()の話とか出てるし。
> Pythonの整数は、あくまで普通のObjectであり、
> 起動時にテキトウに幾つか生成しといて使いまわす、ってことだっけ?
だったと思う。
ついでに>>789にレス。
> とりあえずselectはJava1.4が元気になるまでは使えない、とかさ(藁
> まぁ使えないAPIだらけでGOするってならソレはソレだけど。
別にselectがシステムコールじゃなくたって、複数待ちに入る手段
がありさえすれば何とかなるよ。cygwinみたいに別スレッドでIO待
ちさせてスレッドの終了を待つなんて手もあるし。
0799デフォルトの名無しさん
NGNG> せっかく Ruby で CGI 組んでもアップできるプロバイダが無い。
Ruby anywhere
http://www.jin.gr.jp/~nahi/Ruby/anywhere.html
をご覧になった上で気に入ったプロバイダが無い、
または他に何度検索しても良いところが見つからない、
ということでしょうか?
0800デフォルトの名無しさん
NGNGElispっつーかEmacsが強力なのはともかく、
#!/usr/bin/emacs -t
なんつースクリプトはやだぜ。
0801デフォルトの名無しさん
NGNGむしろ常時接続でサーバたてるのがはやりとか。
0802デフォルトの名無しさん
NGNGもうすぐモバイルマシン+AirH"+dyndnsで鯖立てる
(というか常時持ち運ぶ)のが大ブームになるYO!
>>800
EmacsもJavaも言えることだが、(そこそこ大きな)VMは、終了したら負け。
1回立ち上げたら1週間は落とさない(PocketBSD本によるEmacsの説明yori)覚悟でどうぞ。
上げっぱなしにして、その「中」でプログラムをロード&アンロードすべし。
という意味において、script言語の冒頭に#!で書くというUnix的手法は
殆ど役立たない。ああいう使い方では効率が悪すぎる。
0804800
NGNG> EmacsもJavaも言えることだが、(そこそこ大きな)VMは、終了したら負け。
> 1回立ち上げたら1週間は落とさない(PocketBSD本によるEmacsの説明yori)覚悟でどうぞ。
> 上げっぱなしにして、その「中」でプログラムをロード&アンロードすべし。
それってすべてインタラクティブにやれっつーこと?
0805デフォルトの名無しさん
NGNG[SML 5203] Re: [SML 5196] Re: Squeakの3次元バニー君
でいきなりはじめまして&教えて君メール。
見りゃ分かると評判のアプリの操作が分からんという内容で、
しかもスクリーンダンプを添付するという思い切った離れ業。
それに対して
[SML 5205] Re: Squeakの3次元バニー君
で住人から丁寧な返答をもらっているにも関らず、それに気づかず
[SML 5206] RE: [SML 5204] Re: Squeakの3 次元バニー君
で
>>無視すか?
の逆切れ一行メール。
5日後の
[SML 5287] RE: [SML 5205] Re: Squeakの 3次元バニー君
でようやく謝ったものの、またもや謎の酒○さんを楯に取ってるし…。
○光って何者? いやDQNだということだけははっきりしているんだが。
0806デフォルトの名無しさん
NGNGたしかに電波入ってたな。。。>○光
けど、あのスレッドで興味深い意見が出てたんで、
よしとしましょう。
0807デフォルトの名無しさん
NGNG>もうすぐモバイルマシン+AirH"+dyndnsで鯖立てる
>(というか常時持ち運ぶ)のが大ブームになるYO!
その案面白いですね。
0809デフォルトの名無しさん
NGNGcommand.com上で動くミニゲームのようなものを作ってみたいのですが、
わからぬ点が。ちらほらほら。
○画面を消したい!
clsコマンドの利用を試みてsystem("cls") ってやってみたのですが、
消えません(TT
system()はWinでは利用できないのでしょうか?
○カーソルキーは取得できますか?
syscrl()ってのを使わないといけないのでしょうか?
IO.getcだと文字キーしか拾えないみたいです。
○curse ってなんですか?
MLでミニゲームを一つ見つけたのですが、これがcurseというものをinclude
しているのです。
どうやらコンソールの文字の色を変更したりできるものみたいなのですが、
Win版にはついてません。Winでは利用できませんか?
恥ずかしながら教えて君です。
0810ぎこるび
NGNGGUI なら Ruby/SDL http://www.kmc.kyoto-u.ac.jp/~ohai/
>画面
system("command.com /C cls")
ですね。
>カーソルキー
うーん。どうやるんでしょう……
>curse
UNIX のコンソール制御ライブラリです。
windows でも Cygwin/mingw 版なら使えますが、mswin32 版は無理です。
コンパイラがあるなら、
http://www.lightlink.com/hessling/cgi/downloads.cgi?Product=PDCurses&OS=Windows+NT%2F9x%2F2k&dist=binary&where=usa
から PDCurses をもらって Windows 用の curses 拡張ライブラリを作れるみたいです。
Windows9x 系なら ANSI エスケープコードを使えば、
カーソル位置や文字色の変更ができます。
こんなん -> http://www.nifty.ne.jp/forum/fpcu/dosvcmd/ansi.htm
NT 系なら Win32 Console API を使えばできるかと思います。
http://rb-w32mod.sourceforge.net/
うーむ、全然答えになってないですね、誰かフォローお願いします。
0811デフォルトの名無しさん
NGNGここでもいろいろたたかれてるし。
2chの批判なんて気にも留めてないか。
0812デフォルトの名無しさん
NGNG>それってすべてインタラクティブにやれっつーこと?
あげっぱなし即ちインタラクティブ、ってのは変だと思いませんか?
つまり、ユーザー対プロセスの対話は上げっぱなしプロセスでやれて、
プロセス対プロセスの対話は上げっぱなしプロセスでやれない、というのは、
なんか変だと思いませんか?
そういうInterfaceが(OSやshellに)欠乏している、というだけのことです。>unixなど
それが証拠に例えばruby。
あるObjectがしばらく上げ(=存在し)っぱなしになっているとして、
それとの対話を他のObjectからでもユーザー(irb?)からでも
ばんばん出来るわけでしょ?
そういう風になりゃいいわけよ、プロセスも。
0813800
NGNG> あげっぱなし即ちインタラクティブ、ってのは変だと思いませんか?
> つまり、ユーザー対プロセスの対話は上げっぱなしプロセスでやれて、
> プロセス対プロセスの対話は上げっぱなしプロセスでやれない、というのは、
> なんか変だと思いませんか?
いや、元の話がEmacsだから。基本的にエディタだからインタラク
ティブなのは当然だけど。
> それが証拠に例えばruby。
> あるObjectがしばらく上げ(=存在し)っぱなしになっているとして、
> それとの対話を他のObjectからでもユーザー(irb?)からでも
> ばんばん出来るわけでしょ?
そういえばRindaとかって今どうなってるのかなぁ。
0814デフォルトの名無しさん
NGNG> CUI ベースなら Cygwin 版を使うと楽ですよ。
cygwinならcursesあるので画面クリアもカーソルキーもOK
> windows でも Cygwin/mingw 版なら使えますが、mswin32 版は無理です。
mingw版もなかったような。
0815809
NGNG>>814
情報ありがとうございます。カーソルキー以外は大体方向性が見えてきました。
×system("cls") ○system("command.com /C cls")は恥ずかしかったデス(TT
0816814
NGNG> ×system("cls") ○system("command.com /C cls")は恥ずかしかったデス(TT
いや、unixではsystem("hoge")は/bin/sh -c hogeだから意味的に
はあってるんだけどね。
0817デフォルトの名無しさん
NGNGこのマニュアル?というかドキュメントを探しています。
どこにいけばあるでしょうか?
0819デフォルトの名無しさん
NGNG0820ハァハァ
NGNG# API を1個1個準備する…うざったすぎ、何とかならないかな
OpenMutex = Win32API.new("kernel32", "OpenMutexA", ['L','L','p'], 'i')
CloseHandle = Win32API.new("kernel32", "CloseHandle", ['L'], 'L')
# winbase.h winnt.h からぱくってきた数字
MUTEX_ALL_ACCESS = 0x000F0000 | 0x00100000 | 0x0001
# API をコールする。さくらが生きてたら非0を返すはず
hmutex = OpenMutex.Call( MUTEX_ALL_ACCESS, 0, "sakura" )
偽春菜 → 何かの存在を確認するスクリプト
0821デフォルトの名無しさん
NGNGならんだろうな(T_T)
一般論として強型マイナー言語(Delとか(藁))用にC Headerの移植作業ってのが必要になるんだが、
その時の作業ってのがまさにそれに相当する作業だ。
だから、必要を感じた各自が自分の必要範囲を作業し、
その作業結果をみんなで持ち寄ってマージする、ということをすれば
フルセットには遠く及ばないのは判りきっているとはいえ、サブセットは得られるだろう。
それとて自分の望む関数が入っている保証は全く無いが。
それはともかく、別解として、
C Headerをruby(raccとか)でparseしてWin32APIの呼び出しに変換する、って手もあろう。
誰か既に試みてないものか?
C Headerは恐らく、C Preprocessorに通した後の奴が、組し易いと思う。
0822デフォルトの名無しさん
NGNG> require 'Win32API'
>
> # API を1個1個準備する…うざったすぎ、何とかならないかな
http://www.moonwolf.com/ruby/archive/win32module_20001226b.tar.bz2
0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNGどーしても表紙じゃなきゃ駄目か?
カラー頁になら既に載ったわけだが。
0825デフォルトの名無しさん
NGNGソースをファイルに保存すると
[Ruby|Eval Buffer] コマンドが選択不能になり
実行させる事が出来ません。
Rubyを再起動してからファイルを開いても同じです。
何故でしょうか。これを解決するにはどうすればよいですか。
0826デフォルトの名無しさん
NGNG表紙だと全国紙の広告にも掲載されるし、
AERA-GAGも楽しみだから。藁
0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNGRubyWin 0.0.2.1 使っとります。コマンドラインですね、試してみます。
0829デフォルトの名無しさん
NGNGRubyist!はnDiaryをカスタマイズしている?みたいだし……。
ああいうの(nDiaryのweblog風カスタマイズ)って簡単にできるのでしょうか。
0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
01/08/31 22:07ID:d3.bmBJM0832デフォルトの名無しさん
01/09/01 00:17ID:8UdnvL3A0833デフォルトの名無しさん
01/09/01 22:24ID:oOfaWrh.あなたは何の役に立つの?
0834デフォルトの名無しさん
01/09/02 00:03ID:ThgBVPtc0835デフォルトの名無しさん
01/09/02 22:47ID:MFAeMiRoCGIとか作るのも簡単だYo!
0836デフォルトの名無しさん
01/09/03 01:31ID:SsRwVXng0837デフォルトの名無しさん
01/09/03 12:00ID:0IEjH1s6Ruby/Tk Ruby/Gtk Ruby/Qt VisualuRuby Apollo FXRuby Ruby/Fltk ...
Windows版のGtkは安定してないとか聞くけどね
0838デフォルトの名無しさん
01/09/03 14:28ID:dN3O3FasプログラミングRubyも買うべきか。。。?
0839デフォルトの名無しさん
01/09/04 00:45ID:t7PPc7QM0840デフォルトの名無しさん
01/09/04 00:57ID:taq6YMMs0841デフォルトの名無しさん
01/09/04 06:21ID:Kup.nBh6>>440あたりの
0842デフォルトの名無しさん
01/09/05 13:19ID:OqgI0eKgCGI よりも mod_ruby な ruby script のほうが気持ちいいかな。
とはいえ、mod_ruby って意外と bug が多かったり、仕様の変更が
あったりするのがアレだけども。
0843836
01/09/05 19:19ID:vciamWTkCygwin 版 Ruby 1.6.4 に対応しているのが見当たらないんだよね。
ソースからコンパイルすればいいんだけど、コンパイラ持ってなくて。
バイナリ配布して欲しい。
バージョン 1.4 なら大抵あるんだけど、既に 1.6.4 をインストールして
しまった。
気長に対応してくれるのを待ちまする。
ありがたう。
0844デフォルトの名無しさん
01/09/05 22:00ID:OCqgHVNI0845837
01/09/05 23:24ID:c8mzLy0s全部cygwin版対応可能なはずだけど。バイナリでも少なくともRuby/Tkは標準
配付だし、VisualuRubyはcygwin版が提供されてるし。
0846836
01/09/06 06:53ID:CfMPPKv.少ないってことです。
スクリプト言語の環境を構築するために、コンパイラを用意するというのは
何だか面倒くさいです。
Ruby/Tk が標準配布とは知りませんでした。失礼しました。
0847デフォルトの名無しさん
01/09/06 08:12ID:ChGFpyocでも使い方が分からん
0848デフォルトの名無しさん
NGNG松本行弘氏ってIPAの未踏ソフトウェア創造事業に
採択していたんだね。
0849デフォルトの名無しさん
NGNGいつのネタだYO。
0850デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNGとうとう10億 秒目をむかえる。日本時間だと9月9日午前10時46分40秒だが、
当然ながら住んでいる場所によって現地時間が違うので、
ruby -e 'p Time.at(1e9)'やperl -e 'print scalar localtime 1e9'とでもして時間を確認するべし。
余分な桁を考慮してないアプリは動作不良を起こすかもしれないが、それはひとまず忘れて、
多数の記念宴会が各地で開催されるに違いない。
0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNGなんだこりゃ。
さすがに無意味なデータだから削除させてもらうか。
0855デフォルトの名無しさん
NGNG0856名無しさんは不在にしております。
NGNG0857デフォルトの名無しさん
NGNG↑これ実行したら、 \ のコードが含まれとるせいで
構文エラーになってしまうのはどうすりゃええの?
ちなみに ruby 1.6.5 (2001-09-05) [i386-cygwin] です。
0858名無しさんは不在にしております。
NGNG-Ks
じゃないの?
0859デフォルトの名無しさん
NGNGJava-Houseみたいでかなり鬱
0860857
NGNG-Ks やったらうまくいったよ、ありがとう!
$KCODE="SJIS" やってもなんの変化も
なかったから -Ks も関係ないのかと思ってたよ
0861857
NGNGDir.mkdir('機構')
↑を実行したら、「機構」 じゃなくて「機」が出来てしまうのは
どう対処すりゃええのでしょう?
質問ばっかりでスマソ
0862デフォルトの名無しさん
NGNGWin32API 呼ぶか、 ActiveScriptRuby 使ってください。
0863857
NGNGWin32API呼ぶ方法使ってみます。
0864デフォルトの名無しさん
NGNG0865名無しさん@XEmacs
NGNG結局あれも夏房の一人だったのか(wara
0866デフォルトの名無しさん
NGNGどうでもいいが。
0867デフォルトの名無しさん
NGNGWin環境ですが、ネットワーク共有でLAN接続されたのファイルに
アクセスできるでしょうか。
例:コマンドライン上からは
type \\OtherComputer\ShareDir\file.txt
みたいにアクセスできるファイルを
Filetest::exist?()で存在を確認したりしたいです。出来ると随分楽になること多し。
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNGcygwinのシェルからはできたよ。
ruby -e 'p FileTest::exist?("//othercom/share/test.txt")'
0870デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNGRubyが処理をする、見たいな事がしたかったんだけど。なんか、
やり方がわからなかった・・・(出来るんだよね?
0876デフォルトの名無しさん
NGNGRubyをやるような奴はお気軽やろうだからね。
0877デフォルトの名無しさん
NGNGいるのか?
0878デフォルトの名無しさん
NGNGいるのか?
いるっしょ。Rubyも同じ。
0879デフォルトの名無しさん
NGNG2ちゃんねるヘッドラインとでも言いましょうか
掲示板のチェックボックスをチェックして送信ボタン押せば
上位10スレ表示されます
http://nmgm.s2.xrea.com/index.html
ソースは
http://nmgm.s2.xrea.com/getsub2.zipです
どうでしょか?
感想聞かせてください。
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNG300MBほどのテキストを処理するのに 30分もかかったぞ。
Perlで書いたら10分とかからなかった。
Cで書いたら3分ぐらい。
実はPerlって偉い?
0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNGバーカ。背教者め死ね。
0884デフォルトの名無しさん
NGNGいや、だからRubyはC++などで書く前のプロトタイプ作成に
最適なんだって。使い捨てのテキスト処理ならPerlが一番
費用対効果がでかいだろ。
よは、適材適所ですな。んで、Rubyの適所はプロトタイプ
作成。
0885デフォルトの名無しさん
NGNGオブジェクト指向スクリプト言語として他のスクリプト言語を圧倒する性能と美しい言語仕様を持っています。
例えば、SchemeやSmallTalkなどは比較的美しい言語だと言われていますが、後発である優位さでRubyは
さらなる美しさと実用性を備えています。
もちろんPerlやPythonなど問題外です。
日本語との親和性ではRubyしか選択肢がないでしょう。
LinuxのディストリビューションもRubyの採用例が増えてきています。
1年後には全てのディストリビューションがRubyを標準採用するでしょう。
Rubyは未来のスクリプト言語なのです。
長くなりましたが、コピペではありません。
賛同していただける方はRubyの事を分かっていただけない人に出会ったら、
この発言をコピペしていただければ幸いです。
0887ぎこるび
NGNG以下のことをすれば多少は速くなります。
それでも Perl より平均で倍くらいは遅いですけどね。
処理速度を気にするなら他の言語を使うということで。
(ボトルネック部分をCで書いて拡張ライブラリにする手も)
・変数を前もって宣言しておく ( i = 0 などと書いておく)
・Regexp オブジェクトをループ毎に生成しないようにする
・String の連結は + ではなく << を使う
・可能なら bang 付きメソッドを使う (chop! sub! gsub! など)
0888デフォルトの名無しさん
NGNGいじょ
0889デフォルトの名無しさん
NGNGこちらに移行してください。
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=1001125342&ls=50
0890デフォルトの名無しさん
NGNG ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0891デフォルトの名無しさん
NGNG今だ!891ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0892デフォルトの名無しさん
NGNG今だ!893ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡=
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
0893デフォルトの名無しさん
NGNG0894ぎこるび
NGNG何かに託けて荒らしているだけなんでしょうね。
0895次スレには「shige禁止」つけて欲しい
NGNG>>894
各言語ユーザ間の対立でも狙ってるのかな。
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNG印象を与えてきてるってことなのかな。
読者がいちいち真に受けるとも思えんが、
潜在的な意識に働きかけてきたのかもしれない。
にしても、スレッドを荒らす奴は何のメリットもないのに
ご苦労なことだよ ( ´д`;)
0898デフォルトの名無しさん
NGNG後発ゆえの新しめな仕様と他言語の教訓を生かした無難な
仕様があるだけの話であって、何も革新的なものは無い
ような気がするのだが。
かつて、Perl、Java、Smalltalk、Simula、Prolog、Lisp
Fortranなどが与えたインパクトに比べて、車輪の再発明
の感が否めない。
0899デフォルトの名無しさん
NGNGとこ取りをして、なおかつそれらを一つにまとめるのはスキルがいると思う。
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGhttp://corn.2ch.net/test/read.cgi?bbs=php&key=1001292585
0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNG典型的なRuby厨房
0905デフォルトの名無しさん
NGNGLispの一番いいところを取ってないよ・・・
0907デフォルトの名無しさん
NGNGLispの一番いいところって?
0908名無しさん
NGNG括弧の多い所。
0909デフォルトの名無しさん
NGNG0910るby
NGNG0911デフォルトの名無しさん
NGNG0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNG0914名無しさん@Emacs
NGNGActiveScriptRuby の arton さんがやってたはず。
0915るby
NGNG0916デフォルトの名無しさん
NGNG番組の途中ですが、臨時ニュースです。
「Rubyはクソです。ゴミ箱逝きです。 いじょ 」
この発言をコピペしていただければ幸いです。
___________ __________
‖ \|________
‖ | ON AIR.|
‖  ̄ ̄ ̄ ̄
./ ̄ ̄θ ∧_∧
.../ //(´∀` )/|
./  ̄/⊂ ||_/
| ̄ ̄ ̄ ̄ ̄| ( ━┳┛
|_____| /ヽ」┘┻
0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNGハァ?
馬鹿ですか?
0919デフォルトの名無しさん
NGNGif n == 1
1
else
n * factorial(n - 1)
end
end
0920デフォルトの名無しさん
NGNGruby が各種言語のいいとこをミックスしてるかはともかく,
それをするにはスキルがいると思うんだが.
>>899 も ruby がそうだとは言ってないし(一応).
0921デフォルトの名無しさん
NGNG0922デフォルトの名無しさん
NGNGopen("test.txt","w"){|fh2|
fh2.binmode
fh2.puts("1")
fh2.puts("2")
fh2.puts("3")
}
こんなエラー?が。
test.rb:3: [BUG] invalid id for gettable
ruby 1.7.1 (2001-08-06)[i586-mswin32]
abnormal program termination
これはこの環境のRubyに問題があるということなのでしょうか?
BUGと出るのはバグレポートしなさい、ということですか?
0923デフォルトの名無しさん
NGNGRubyに問題有り
0924ぎこるび
NGNGhttp://www.dm4lab.to/~usa/ruby/
ここの
ruby-1.7.1-20010901-i586-mswin32.zip (2,034KB)
ruby 1.7.1 (2001-09-01) [i586-mswin32]
では再現しませんでした。
開発版は、実験的に機能が組み込まれるついでにバグも組み込まれたりするので
安定版を使うか、まめに新しいのにした方が良いと思います。
0925デフォルトの名無しさん
NGNGってたとえば鈍なのがあるの?
0928922
NGNGコードの中に堂々と全角スペース。
逝ってきます・・・
0929デフォルトの名無しさん
NGNG0930デフォルトの名無しさん
NGNG0931デフォルトの名無しさん
NGNGLispってカッコイイ!!
0932デフォルトの名無しさん
NGNGrubyでは変数はオブジェクトへのリファレンスを保持するだけなので何たら〜って話は
>>683 にもあるとおりでそれはわかったのですが、だとすると
a = "hoge"
b = "foo"
tmp = a #(1)
a = b #(2)
b = tmp #(3)
でちゃんとaとbが入れ替わるのが理解できません。
(1)の時点でtmpがaのaliasになって(2)でaがbのaliasになるので、
この時点ですでにtmpはbのaliasになっている(つまり同じオブジェクトを参照している)
のではないかと思ったのですが、動作はそうなっていないみたいです。
C++で
string &a = "hoge";
string &b = "foo";
string &tmp = a;
a = b;
b = tmp;
とやると両方同じオブジェクトをさすようになりますが、どう違うのでしょうか?
0933デフォルトの名無しさん
NGNG難しく考えすぎ。
Cで
char *a = "hoge";
char *b = "foo";
char *tmp;
tmp = a;
a = b;
b = tmp;
とやるのと同じってこと。
0935デフォルトの名無しさん
NGNG0936デフォルトの名無しさん
NGNGページの隅に付いてる羊とか鳥の絵がパラパラマンガになってるのでは、と
一瞬思ったヤツ手挙げろ。
0937デフォルトの名無しさん
NGNGろくな奴がいないな。
0938>>936
NGNG0939デフォルトの名無しさん
NGNG> Rubyが持つUNIXで特徴的な機能
プロセス関係とかシグナルとか
0940デフォルトの名無しさん
NGNG0941ぎこるび
NGNGARGV、STDIN、STDOUT も UNIX 的ですね。
クラスでは IO、File、Dir がそうでしょうか。
ruby-newbie ML でも作ってしばらくスレを破棄しようかしらん。
この状態では悪印象ばかり広まりますし…
0942デフォルトの名無しさん
NGNGでもね、質問の仕方が悪くって、真意が伝わらなかったかもしんまい。
Windows版で使えないという、「UNIXに特徴的な機能というヤツ」が
知りたかったんですよ。(汗)
0943デフォルトの名無しさん
NGNG0944ぎこるび
NGNGUNIX じゃないと使えません。
syscall 関数はまんまシステムコール呼び出しですのでこれも同様。
Signal クラスも UNIX のシグナルを扱うクラスなので同様。
File::Stat クラスもまんま UNIX の stat で返る構造体です。
これは Windows でも使えますが、i-node 番号などいくつかの要素が意味なくなります。
File.chmod や File.chown もパーミッションがない Windows では無意味です。
NT 系はシンボリックリンクに似た機構がありますが、
FIle.link File.readlink File.symlink が使えるかどうかはちょっと試してません。
File#flock も Windows には存在しないので、
in `fork': The fork() function is unimplemented on this machine(NotImplementedError)
てな例外が上がります。
0946デフォルトの名無しさん
NGNG自意識過剰な奴はこれだから困るね。
0947デフォルトの名無しさん
NGNGいなくなって大きな影響があるだろう。と言ったなら自意識過剰だが、
どうってこと無いと言ったなら自意識がないってことだろ。
0948!= 946
NGNGと言いたいんじゃないの?
どっちにせよ、946はただ単に嫌味を言いたいだけなんだろうけど。
0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNGwarata
0954名無しさん
NGNGじゃ、次スレは「Rubyを愛する奴は人生の敗北者 Part3」という事で
よろしく。
0955デフォルトの名無しさん
NGNG前スレ
Rubyでもどうよ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=965986588
オブジェクト指向スクリプト言語Ruby part2
http://piza2.2ch.net/test/read.cgi/tech/987231068/
0956ぎこるび
NGNG#1 立てて以来ずっと書き込んできたからスレに愛着が沸いてしまっただけです。
それじゃさようなら。
0957デフォルトの名無しさん
NGNGそんなこと言うなよー
荒らしなんてほっとけばじきに消えるんだからさ。
気にせずに戻ってこいよぅ
0958ルビ厨な人@敗北者
NGNGhttp://piza2.2ch.net/test/read.cgi?bbs=tech&key=1001829961&ls=50
んじゃ、後はがんばってね。
0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG0962名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGFile.link・File.readlink・File.symlinkは実装されてない。
File#flockはNT系なら動作する。
0966デフォルトの名無しさん
NGNGFile#flockは9xでも動くはずだがな。
>>944はなぜかflockじゃなくてforkの例外メッセージを引用してるん
だが、これはたしかにWindows(mswin32,mingw32)じゃ実装されてない。
それとNTFSでできるのはシンボリックリンクじゃなくてハードリンク。
0967デフォルトの名無しさん
NGNGそのとおりです。flockは動きますね。
恥ずかしい間違えをしたので訂正だけして消えます。
0969デフォルトの名無しさん
NGNGさようならまつもと
0970名無しさん@Emacs
NGNG日本語の「ジェ」をサーチしようと思うのですが,
なんてローマ字打てばよいのですか?
「je」じゃだめでした.
0971デフォルトの名無しさん
NGNGKoRoN 氏の実装のでは je で検索できるけど。
オリジナルのは使ったことないや。
0972名無しさん@Emacs
NGNGしかし,いまいちだなー.
0973名無しさん@XEmacs
NGNG0974デフォルトの名無しさん
NGNGWhy do you age this thread?
0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNGRubyを愛する奴は人生の敗北者 Part3
http://pc.2ch.net/test/read.cgi/tech/1001829961/
0977デフォルトの名無しさん
NGNGDir.mkdirやFile.renameを使ったほうがいいととある本に書いてありました。
これどうしてなんでしょうか?
0978デフォルトの名無しさん
NGNGある本て、どの本だよ?
0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNGこのあたりのスレッドを読んでみて。
http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/28222?28160-28754
http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/28231?28160-28754
0981デフォルトの名無しさん
NGNGレス数が950を超えています。1000を超えると書き込みができなくなります。