トップページ⇒tech
981コメント267KB

Rubyについて Part48

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/09/20(木) 08:04:39.36
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

= 前スレ
Rubyについて Part 47
http://toro.2ch.net/test/read.cgi/tech/1326687331/
0002デフォルトの名無しさん2012/09/20(木) 08:08:31.42
関連スレ

Ruby 初心者スレッド Part 50
http://toro.2ch.net/test/read.cgi/tech/1343539588/

【RoR】Ruby on Rails Part15
http://kohada.2ch.net/test/read.cgi/php/1341589839/
0003デフォルトの名無しさん2012/09/20(木) 08:09:38.46
ドキュメント
ttp://www.ruby-lang.org/ja/documentation/

るりま(言語リファレンス)
ttp://doc.ruby-lang.org/ja/
ttp://doc.ruby-lang.org/ja/1.8.7/doc/index.html
ttp://doc.ruby-lang.org/ja/1.9.2/doc/index.html
ttp://doc.ruby-lang.org/ja/search/

旧マニュアル
ttp://www.ruby-lang.org/ja/man/html/index.html

YARV以外の実装
JRuby
ttp://www.jruby.org/
IronRuby
ttp://www.ironruby.net/
MacRuby
ttp://www.macruby.org/
Rubinius
ttp://rubini.us/
0004デフォルトの名無しさん2012/09/24(月) 11:44:59.72
全然レスがないぞ?
rubistは2chは読んでないのかな?(初心者スレはいまでもそこそこ勢いがあるが)
0005デフォルトの名無しさん2012/09/24(月) 11:47:09.98
Ruby 1.9 speed ÷ Java 7 speed | Computer Language Benchmarks Game
http://shootout.alioth.debian.org/u32/ruby.php
0006デフォルトの名無しさん2012/09/24(月) 11:51:13.27
ム板は全スレにuyやら忍者やらの荒らしが出張ってて板全体が機能していない
初心者スレの連中は事情を知らないだけ
0007uy2012/09/24(月) 14:22:42.72
なんでそうゆう八つ当たりすりの?自分でネタ投下したことある?スレに貢献したことある?
何もやってるようにみえない
0008デフォルトの名無しさん2012/09/25(火) 11:39:39.73
arr = Array.new(x).map!{Array.new(y){Hoge.new(0)}}
だと動くが
arr = Array.new(x).map!{Array.new(y, Hoge.new(0))}
だと駄目?
0009uy2012/09/25(火) 11:46:35.96
は?
0010デフォルトの名無しさん2012/09/25(火) 14:01:05.46
意図したように初期化されていない様子
0011デフォルトの名無しさん2012/09/26(水) 19:32:59.86
マニュアルが 404 Not Found になるんだけど
ttp://doc.okkez.net/static/193/
0012デフォルトの名無しさん2012/09/26(水) 19:59:06.71
Rubyリファレンスマニュアル chm版リミックス
http://ruby.morphball.net/refm-remix.html
0013デフォルトの名無しさん2012/09/27(木) 04:15:50.22
class Hoge
attr_accessor :x

def initialize(v)
@x = v
end

def replace(a)
@x = a.x
end
end

def print_array(a)
for i in 0..2 do
puts "#{a[i][0].x} #{a[i][1].x} #{a[i][2].x}"
end
end

a1 = Array.new(3).map!{Array.new(3){Hoge.new(0)}}
a1[1][1] = Hoge.new(1)
print_array(a1)
puts ""

a2 = Array.new(3).map!{Array.new(3, Hoge.new(0))}
a2[1][1].replace Hoge.new(1)
print_array(a2)
0014デフォルトの名無しさん2012/09/27(木) 04:19:24.56
×a1[1][1] = Hoge.new(1)
○a1[1][1].replace Hoge.new(1)
0015uy2012/09/27(木) 05:44:53.28
は?
0016デフォルトの名無しさん2012/09/27(木) 06:56:19.88
動作の違いが判明
0017デフォルトの名無しさん2012/09/29(土) 07:57:34.04
ホゲホゲうるせえぞw
死ねゴミ共が
0018デフォルトの名無しさん2012/09/29(土) 08:40:04.27
ンッペコバンナーwwwwwwwwwwwwwww「ペッコンバローナーwwwwwwwwwwwwwww」
0019デフォルトの名無しさん2012/10/03(水) 06:38:15.09
Rubyオワタ・・・

マイクロソフト、JavaScriptの大規模開発を可能にする「TypeScript」を発表――JavaScriptのスーパーセット
http://www.computerworld.jp/topics/577/205052

 より複雑なアプリケーションを開発できるよう、C++やJavaといった成熟した言語によく見られる先進的な開発機能を米国MicrosoftがJavaScriptに複数実装した。
今回、JavaScriptのスーパーセット「TypeScript」としてパッケージ化されたのは、静的型付け(スタティック・タイピング)、クラス、モジュール化といった新機能だ。

 MicrosoftのC#言語担当最高アーキテクト、アンダース・ヘルスバーグ(Anders Hejlsberg)氏は、
「過去5年以上にわたり、JavaScriptでアプリケーションと同等のプログラムを記述するのが難しすぎるという不満の声が顧客から寄せられてきた」と話している。
コード予測やすぐれたデバッグ、リファクタリング、混在する大量のプログラム・コードの簡単な検索などの基礎機能を備えるTypeScriptは、
JavaScriptによるコード開発に新たな道をひらくだろうと同氏は述べた。

 「JavaScriptはスクリプティング言語として作られた。中規模から大規模なコードベース、すなわちクラスやモジュールといったものを構成するようには設計されていないのである。
(中略)JavaScriptは静的型付けのない完全な動的言語だが、今日のリッチなIDEの動力源となっているのはこの静的型付けだ」(ヘルスバーグ氏)

 静的型付けでは、開発者は特定のデータ・タイプを生成される変数それぞれに割り振らなければならない。JavaScriptはそれ自体が動的にタイプ化される言語であるため、
事前にデータ・タイプを変数に割り当てる必要がなく、経験の浅い開発者でもコーディングがしやすい。

 しかしながら静的型付けがなされる場合は、変数に割り当てられるデータのタイプを決定できるので、コンパイラがコーディング・エラーに関する詳細なレポートを作成したり、
プログラムに必要と思われるものをより正確に予測したりすることができるようになる。例えばVisual Studioでは、TypeScriptによって、
コーダーがJavaScriptを記述する際に必要な情報を「IntelliSense」が先読みし提供できるようになる。その予測精度は、C#やその他の静的言語を使う場合と同程度だそうだ。
0020デフォルトの名無しさん2012/10/04(木) 22:49:51.90
>>19
Rubyを潰すためだけに作られた言語か…
0021デフォルトの名無しさん2012/10/04(木) 23:54:31.67
>>19 いい言語だとは思うが、これで Ruby はつぶれるかな?
method missing とか Ruby の黒魔術みたいなことが TypeScript でもできなければ
Ruby はつぶれないと思う。

逆に静的片付けができるからと言って、Scalaはそこまで浸透していない。
(JVM上の言語だからかもしれないけど)

※
JavaScript はプロトタイプベースとか言われるが、
黒魔術をやりたかったら JavaScript の方がやりやすいのでしょうか?
わかっていなくてすみません
0022デフォルトの名無しさん2012/10/05(金) 17:05:32.09
>>21
JavaScriptの方がやりやすいというか、全編黒魔術って感じ。
0023デフォルトの名無しさん2012/10/05(金) 17:21:16.70
マジレスすんなよ・・・・
0024デフォルトの名無しさん2012/10/06(土) 07:26:24.65
黒魔術って、ふつうの人間には理解できないっていうこと?
0025デフォルトの名無しさん2012/10/06(土) 11:05:03.15
大抵の場合はメタプログラミングしまくりなのを黒魔術って言うケースが多いと思う。
Ruby もだけど JavaScript はいっそうその傾向が強い感じがするねえ。
0026デフォルトの名無しさん2012/10/06(土) 16:45:53.81
そうだったの
誤解してたわ
0027デフォルトの名無しさん2012/10/06(土) 18:50:47.91
       //
     /  /   バカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ 馬鹿には無理
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ
0028デフォルトの名無しさん2012/10/09(火) 09:41:46.00
うるせーバカ
0029デフォルトの名無しさん2012/10/10(水) 18:11:39.35
http://www.infoq.com/jp/news/2012/10/Ruby-on-Rails-Node-js-LinkedIn

LinkedIn は先日,パフォーマンスとスケーラビリティを理由として,
同社のモバイル用バックエンドインフラを Ruby on Rails から Node.js にリプレースした。
これに対して元 LinkedIn のチームメンバが,何が問題であったのか,自身の意見を表明している。
0030デフォルトの名無しさん2012/10/10(水) 18:15:24.99
・優れたパフォーマンス – いくつかのシナリオにおいて,Node.js は Rails の20倍以上高速だった。
・サーバ30台の処理をわずか3台で実行できるため,10倍以上のトラフィックを処理する余地が生まれる。
・フロントエンドの JavaScript 技術者をバックエンドコード開発に従事させることが可能になる。
 この結果,2つあった開発チームが1つに統合された。
0031デフォルトの名無しさん2012/10/10(水) 19:16:45.77
>>30
こういうときって、もともといたRailsチームプログラマはどうなるんだろう
LinkedIn にいるようなプログラマは優秀だから、JavaScriptチームのメンバーとしてもやっていけるのか
0032デフォルトの名無しさん2012/10/10(水) 19:20:33.81
もともといたRailsチームプログラマがRuby捨ててNode.jsに乗り換えただけだろ
0033デフォルトの名無しさん2012/10/10(水) 19:57:20.28
別にそれほど優秀じゃなくても別言語のフレームワークなんて普通に習得出来ると思うが。
0034デフォルトの名無しさん2012/10/10(水) 19:58:19.27
Ruby/Railsしか使えないプログラマを大量に雇ってるとは思えないんで、
Ruby/Railsが有利なステージが終わったなら次の言語を使って開発するだけだろ
もしRails専属エンジニアをピンポイントで雇ってたなら、その人は単に解雇だろうな
それはそれでなにも問題はない

いちどRubyとRailsを選んだら永遠にRubyとRaisを使って開発し続けなければならないとか小学生か
0035デフォルトの名無しさん2012/10/10(水) 20:03:29.71
だな
最低でも5言語ぐらいは極めてないと仕事は任せられん
0036デフォルトの名無しさん2012/10/10(水) 20:13:01.59
開発言語極めるとか小学生か
0037デフォルトの名無しさん2012/10/10(水) 20:16:05.40
極めるとか何寝言言ってんだって感じ
0038デフォルトの名無しさん2012/10/10(水) 20:19:07.18
極めてないと()
頭おかしいのか
0039デフォルトの名無しさん2012/10/10(水) 20:56:48.49
言語なんて所詮誰でも使えるように作られている
0040デフォルトの名無しさん2012/10/10(水) 20:57:18.14
それで、その経験が何年かとか
0041デフォルトの名無しさん2012/10/10(水) 23:28:24.70
2年前に InfoQの記事を読んだときは、LinkedIn は、JVM(JRuby)上でsinatora と Scalaを使っているとあったが、
今は変わったのか。

LinkedIn Signal: Scala, JRuby と Voldemortのケーススタディ
http://www.infoq.com/jp/articles/linkedin-scala-jruby-voldemort
0042デフォルトの名無しさん2012/10/11(木) 22:19:45.27
URLのとこで紹介されてた Win32Utils はもうダウンロードできないの?
久しぶりに使ったスクリプトでショートカットを作ったりいろいろ
してて必要なんだけど…
こんな時どうすればいいのかわからないの…
タスケテ

http://jp.rubyist.net/magazine/?0005-RLR
http://rubyforge.org/projects/win32utils
0043デフォルトの名無しさん2012/10/11(木) 22:51:10.57
http://rubyforge.org/forum/forum.php?forum_id=40419
> In case anyone was still wondering, all Win32Utils projects are
> now hosted on github, and all libraries have been bundled as gems.

というわけで

https://github.com/djberg96/win32-shortcut
> gem install win32-shortcut
0044デフォルトの名無しさん2012/10/11(木) 22:59:20.51
サンクス!
0045デフォルトの名無しさん2012/10/12(金) 05:06:52.47
俺JavaScriptに乗り換える!
そしてデザイナさんと仲良くなるんだ!
0046デフォルトの名無しさん2012/10/12(金) 05:29:05.94
おじいちゃん乗り換えるも何も元からRuby使ってなかったでしょ
0047デフォルトの名無しさん2012/10/13(土) 01:23:13.74
jpg画像のIPTCを読み書きできるライブラリって無いん?
0048デフォルトの名無しさん2012/10/13(土) 12:19:17.83
求めるキーワードに ruby とか gem とか付けてぐぐれ。

https://rubygems.org/gems/iptc ( https://github.com/octplane/ruby-iptc )
Pure Rubyらしいから開発環境なくても動くと思う。

0049デフォルトの名無しさん2012/10/14(日) 03:02:15.70
「別に(Rubyマニア|厨|オタ)ってわけじゃないけど」
って前置きしてRubyのスクリプト晒してるブログ記事が増えてきてる気がするけど気のせいかなw
0050デフォルトの名無しさん2012/10/14(日) 16:06:00.69
つまりどういうことです?
0051デフォルトの名無しさん2012/10/14(日) 16:40:44.57
フフン :)
0052デフォルトの名無しさん2012/10/14(日) 19:04:14.08
別にそれRubyに限ったことじゃないと思うけど
0053デフォルトの名無しさん2012/10/17(水) 19:41:38.32
いろいろスクリプトめぐってみたけど、PHPはC言語風構文以外に優れた点が見えないし
Pythonは3で一度捨てた機能を再び取り込んだり迷走状態だし
シェアがある中では、Rubyが最良なんじゃないかって結論に達しつつある
0054デフォルトの名無しさん2012/10/17(水) 20:24:36.51
ふーん
0055デフォルトの名無しさん2012/10/18(木) 00:57:20.22
( ´_ゝ`)フーン
0056デフォルトの名無しさん2012/10/18(木) 01:05:55.45
ふぇぇ…
0057デフォルトの名無しさん2012/10/18(木) 08:12:37.60
奈良の春日の
青芝で
鹿が仲良く
糞をする
0058デフォルトの名無しさん2012/10/18(木) 19:40:19.84
RubyアソシエーションがRuby Science Foundationなどに開発資金を助成
http://itpro.nikkeibp.co.jp/article/NEWS/20121009/428383/?k3
0059デフォルトの名無しさん2012/10/19(金) 18:24:37.60
Windowsユーザー最後の頼みだったRuby Installerもとうとう陥落しちまったな
0060デフォルトの名無しさん2012/10/19(金) 18:32:46.19
>>59
kwsk
あれもう最新バージョンについていけてないようだけど
0061デフォルトの名無しさん2012/10/20(土) 08:25:06.72
arton さんが秋田
0062デフォルトの名無しさん2012/10/20(土) 08:51:34.69
>>61
は?そっちは最新バージョン出ただろ
お前>>59じゃないならわけわからんこと言うなよ
0063デフォルトの名無しさん2012/10/20(土) 08:59:38.17
あっちはartonさんじゃないっしょ
0064デフォルトの名無しさん2012/10/20(土) 09:29:09.74
>62
arton さんごめんなさい
お詫びにこれ貼っときます
ttp://www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview41.html
0065デフォルトの名無しさん2012/10/20(土) 11:25:47.91
もうpryをirbと置き換えちゃえば良いのに。
0066デフォルトの名無しさん2012/10/20(土) 13:37:32.39
依存物多くてヤダ
0067デフォルトの名無しさん2012/10/21(日) 00:14:24.21
ヤダっていうのがヤダ
0068デフォルトの名無しさん2012/10/24(水) 19:43:10.83
クラス名について質問。
RubyやRails的には「HttpError」と「HTTPError」のどちらを使うべき?
Mongrelは前者、標準ライブラリのnetは後者みたい。
お勧めがあれば理由とともに教えて。
0069デフォルトの名無しさん2012/10/24(水) 20:08:25.95
>>68
ttp://doc.ruby-lang.org/ja/1.9.3/library/net=2fhttp.html
これを読んで「HttpError」にしようと思うなら勇者
0070デフォルトの名無しさん2012/10/24(水) 21:43:15.35
基本的には頭文字をつなげた略語は全部大文字にするのが趣味なんだが、
ActiveSupportと一緒に使う(railsとか)ことが考えられるときはInflectorと
相性がいい頭だけ大文字を使ってる。

"HTTPError".underscore.classify #=> "HttpError" になっちゃうので。

0071デフォルトの名無しさん2012/10/24(水) 22:47:05.25
>>69
>これを読んで「HttpError」にしようと思うなら勇者
うん、標準ライブラリは「HTTPError」派ってのは知ってるし、そう書いてる。
しかし標準じゃないけど広く使われているライブラリでは「HttpError」が使われているから、どっちがいいのか聞いてみた。

>>70
そうですよね、"http_error".classify は "HttpError" なんですよね。「HttpError」を採用する大きなポイントになります。
「HTTPError」にするメリットってなんかありますか。
0072デフォルトの名無しさん2012/10/25(木) 00:46:48.03
標準ライブラリのnetは後者みたい
うん、標準ライブラリは「HTTPError」派ってのは知ってるし、そう書いてる

net?
0073デフォルトの名無しさん2012/10/25(木) 04:18:42.32
そもそも空白に対して本来の自然言語とは異なる意味なんて持たせてるくせに
自然言語っぽく理解したがるからダメなんだよ
HTTP Error
というクラス名くらい定義できるべき
0074デフォルトの名無しさん2012/10/25(木) 18:52:31.62
>>72
net/httpだろそれくらい分かれよ
>>73
どうでもよすぎ
現実を見ろ
0075デフォルトの名無しさん2012/10/26(金) 06:07:42.72
教えて君うざい

Ubuntu 12.10で発生した問題を解決するためgkrellm-hdplopと
exim4-baseとexim4- 電話がないと不便なのでHTC Desireを引っ張りだして
きて代替機に。でも、久しぶりだからあちこち動作がおかしいなあ。な
んとしてもGalaxy Nexus直さないと。でも、どうやって?

daemon-lightをダウングレードした。課題はこれらが毎回アップデート候補
になること。これらをpinするためにはどうしたらいいんだろう?
0076デフォルトの名無しさん2012/10/26(金) 07:39:02.14
Twitterはそういうもの。
スレ違いの>>75の方がウザイ。
>>75には一週間便秘になる魔法を掛けた。以上。
0077デフォルトの名無しさん2012/10/26(金) 10:16:53.63
魔法の途中で蜘蛛が紛れ込んだのか、
下痢になってしまいました。
0078デフォルトの名無しさん2012/11/04(日) 22:15:12.65
Ruby 2.0のプレビューがでたらしい
0079デフォルトの名無しさん2012/11/05(月) 01:00:57.48
リ、リファインメントがクールだよね〜(知ったか)
0080デフォルトの名無しさん2012/11/05(月) 01:26:23.43
ほらな、2chに書かれて初めてpreviewが出てるのを知る奴ばっかだ
0081デフォルトの名無しさん2012/11/05(月) 01:51:01.58
それは世間が狭過ぎる
0082デフォルトの名無しさん2012/11/05(月) 02:00:34.63
世間が狭い奴以外はそもそもこんなスレ見捨てる
0083デフォルトの名無しさん2012/11/05(月) 02:29:48.51
pythonをはじめ他の言語のスレは元気なのに、
rubyのスレだけ閑古鳥が鳴いてるのはちょっとアレだよなw
なぜなのか…
0084デフォルトの名無しさん2012/11/05(月) 03:20:14.96
ruby関連スレにはとびっきり変なのが沸くからしょうがない
0085デフォルトの名無しさん2012/11/05(月) 07:58:08.23
忍法帳と自演防止アク禁措置のおかげ
いままでが異常だっただけ
0086 忍法帖【Lv=40,xxxPT】(2+0:5) 2012/11/05(月) 08:07:48.70
お、忍法帳導入されたのかw
0087デフォルトの名無しさん2012/11/05(月) 09:16:57.74
> BBS_NINJA=checked
うおー
0088デフォルトの名無しさん2012/11/05(月) 09:23:57.79
Perl質問スレ見る限り全く効果ないようだが
0089デフォルトの名無しさん2012/11/05(月) 09:41:52.33
そりゃ使わずに導入した「だけ」じゃ意味ないからな
0090デフォルトの名無しさん2012/11/05(月) 17:21:50.85
suge-

窓の杜 - 【NEWS】Microsoft、「Python Tools for Visual Studio」v1.5を正式公開
http://www.forest.impress.co.jp/docs/news/20121105_570958.html
http://www.forest.impress.co.jp/img/wf/docs/570/958/image3.jpg
http://www.forest.impress.co.jp/img/wf/docs/570/958/image2.jpg
0091デフォルトの名無しさん2012/11/05(月) 18:44:27.98
RoRの話題も完全に消えてきたし、ブーム終わったね
元の鞘に戻るんよ
0092デフォルトの名無しさん2012/11/05(月) 18:46:09.10
日本人が作るプログラミング言語なんて所詮ゴミでしかないんだよ
0093 忍法帖【Lv=7,xxxP】(1+0:5) 2012/11/05(月) 18:49:54.45
ni
0094デフォルトの名無しさん2012/11/05(月) 18:55:51.89
matz江市どうなるん?
Rubyに大金つぎ込んでるんじゃないん?
島根県死んでしまうん?
mrubyどうなるん?
masorubyになって彷徨い続けるん?
0095デフォルトの名無しさん2012/11/05(月) 19:01:01.15
そんなことよりRubyラーメンの方が心配
0096デフォルトの名無しさん2012/11/05(月) 19:06:47.44
そんなことより高校は行っといた方が良い
JKといちゃいちゃせずに人生を終えるとか…
0097デフォルトの名無しさん2012/11/05(月) 19:38:29.29
バカヤロウ、今週はRuby World Conference 2012なんだぞ!
Ruby on 松江ラーメンを買い求めねば
0098デフォルトの名無しさん2012/11/05(月) 20:51:18.49
RubyクラスタのTLみてるとRubyConfの話ばっかりだったな。
0099デフォルトの名無しさん2012/11/06(火) 00:11:45.54
>>79
あれ嬉しい。
0100デフォルトの名無しさん2012/11/06(火) 21:00:08.38
refinementは、rubyconfのamatsudaスライドがわかりやすかった。
0101デフォルトの名無しさん2012/11/08(木) 11:43:02.91
組み込みのmrubyってPythonとかだと難しいの?
Rubyならではのメリットってあるのかな
■ このスレッドは過去ログ倉庫に格納されています