プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 59
http://echo.2ch.net/test/read.cgi/tech/1475394638/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
探検
Ruby 初心者スレッド Part 60 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/04/29(土) 02:01:58.34ID:urVXnFrH
103デフォルトの名無しさん
2017/05/07(日) 14:43:52.81ID:bug3EadL >>98
Rubyに限った話じゃないけどある処理を実装しようとする時は
その処理の入力と出力の型を最初に考えるといいと思うよ
(厳密に定義されてる型じゃなくても別によくて入出力の形式くらいの意味)
例えば
文字列の文字出現頻度をカウントするメソッドの入出力は
string -> hash {“a” => 3, “b” => 5, …}
でeach_charに渡すブロックの入出力は
char -> hash
でcharを1つずつ受け取って意図したhashを返すにはどうするのかを考える
Rubyに限った話じゃないけどある処理を実装しようとする時は
その処理の入力と出力の型を最初に考えるといいと思うよ
(厳密に定義されてる型じゃなくても別によくて入出力の形式くらいの意味)
例えば
文字列の文字出現頻度をカウントするメソッドの入出力は
string -> hash {“a” => 3, “b” => 5, …}
でeach_charに渡すブロックの入出力は
char -> hash
でcharを1つずつ受け取って意図したhashを返すにはどうするのかを考える
104デフォルトの名無しさん
2017/05/07(日) 15:02:27.91ID:bug3EadL (続き)
例えば特定の文字が出てくるたびにインクリメントすればいいと考えれば
最初は↓こういう実装でもいい
s = "Ruby is an object oriented programming language"
result = Hash.new(0)
s.each_char do |char|
result[char.downcase] += 1
end
上のコードが手続き的で副作用が気持ち悪いと思うようになってくればreduceに変える
s.chars.reduce(Hash.new(0)) {|result, char| result[char.downcase] += 1; result}
reduceだとブロックの最後に明示的にresultを返してやらないといけないのが美しくないと思えばeach_with_objectに変える
s.chars.each_with_object(Hash.new(0)) {|char, result| result[char.downcase] += 1}
文字の集合をgroup byすればいいというふうに考えれば↓こういう感じとか(パフォーマンスは上のほうがよいけど)
s.chars.group_by{|char| char.downcase}
.map{|key, value| [key, value.length]}
.to_h
入出力の型を考えて、ロジックを考えて、ロジックをコードで表現する方法を見つける
例えば特定の文字が出てくるたびにインクリメントすればいいと考えれば
最初は↓こういう実装でもいい
s = "Ruby is an object oriented programming language"
result = Hash.new(0)
s.each_char do |char|
result[char.downcase] += 1
end
上のコードが手続き的で副作用が気持ち悪いと思うようになってくればreduceに変える
s.chars.reduce(Hash.new(0)) {|result, char| result[char.downcase] += 1; result}
reduceだとブロックの最後に明示的にresultを返してやらないといけないのが美しくないと思えばeach_with_objectに変える
s.chars.each_with_object(Hash.new(0)) {|char, result| result[char.downcase] += 1}
文字の集合をgroup byすればいいというふうに考えれば↓こういう感じとか(パフォーマンスは上のほうがよいけど)
s.chars.group_by{|char| char.downcase}
.map{|key, value| [key, value.length]}
.to_h
入出力の型を考えて、ロジックを考えて、ロジックをコードで表現する方法を見つける
105デフォルトの名無しさん
2017/05/07(日) 15:19:04.40ID:2pnfBwSz >>104
副作用の意味分かってる?
副作用の意味分かってる?
106デフォルトの名無しさん
2017/05/07(日) 15:42:28.57ID:3+oylOXC 大学すら行ったことのない人は「演習」の意味も分からず>>103-104みたいなことを書くのだ
気をつけようね
気をつけようね
107デフォルトの名無しさん
2017/05/07(日) 16:16:42.30ID:2pnfBwSz reduceは考え方が手続き型に近いので、関数型特有のトップダウンな思考が身についてない人にも馴染みやすいためか、低スキルな人が好んで使うよね
故に>>104のように無自覚に副作用書いちゃう馬鹿野郎も多い
故に>>104のように無自覚に副作用書いちゃう馬鹿野郎も多い
108デフォルトの名無しさん
2017/05/07(日) 18:08:01.01ID:vOdx9BxG ruby の記述力には感動すら感じさせられますね
今回、必要があって ruby を始めましたが、末永くお付き合いさせていただくことになりそうですね、C/C++ だけに眠っていたのは損失でした…
今回、必要があって ruby を始めましたが、末永くお付き合いさせていただくことになりそうですね、C/C++ だけに眠っていたのは損失でした…
110デフォルトの名無しさん
2017/05/07(日) 20:38:50.83ID:YLCveNdh >>108
自己紹介GJ
自己紹介GJ
111デフォルトの名無しさん
2017/05/07(日) 21:06:49.51ID:edBtKeoY >>98
>s.each_char do |c| で、手がとまっています
手が止まるのは、習っていない事をしようとするから。
そりゃ出来ないはず
先に「たのしいRuby 第5版、2016」を3回読めば、ほとんどの事は書いてある
>s.each_char do |c| で、手がとまっています
手が止まるのは、習っていない事をしようとするから。
そりゃ出来ないはず
先に「たのしいRuby 第5版、2016」を3回読めば、ほとんどの事は書いてある
112デフォルトの名無しさん
2017/05/07(日) 21:36:25.47ID:vOfy+8Oj >>104
すでに>>105が指摘しているけど、破壊的代入は副作用の一つだよ
副作用の無い「関数型プログラミング」と呼ばれる作法に従えば、
以下のコードになる
http://ideone.com/d48CGm
詳しくは以下の文書を参照
・Rubyによる関数型プログラミング
http://www.h6.dion.ne.jp/~machan/misc/FPwithRuby.html
あと蛇足を加えると:
・上記のコードでは、reduce ではなく inject を用いた
・効率という視点では破壊的代入を用いる>>104のコードのほうが優れている
・わざわざメソッド String#chars で文字列を文字の配列に展開するよりも、
ブロックを伴わないメソッド String#each_char は列挙オブジェクト
(enumerator)を返すから、それを直接inject(あるいは reduce)へ
チェーンさせたほうが効率的である
すでに>>105が指摘しているけど、破壊的代入は副作用の一つだよ
副作用の無い「関数型プログラミング」と呼ばれる作法に従えば、
以下のコードになる
http://ideone.com/d48CGm
詳しくは以下の文書を参照
・Rubyによる関数型プログラミング
http://www.h6.dion.ne.jp/~machan/misc/FPwithRuby.html
あと蛇足を加えると:
・上記のコードでは、reduce ではなく inject を用いた
・効率という視点では破壊的代入を用いる>>104のコードのほうが優れている
・わざわざメソッド String#chars で文字列を文字の配列に展開するよりも、
ブロックを伴わないメソッド String#each_char は列挙オブジェクト
(enumerator)を返すから、それを直接inject(あるいは reduce)へ
チェーンさせたほうが効率的である
113デフォルトの名無しさん
2017/05/07(日) 21:47:04.67ID:hR29VPCg >>109
ちゃんと覚えるつもりならRubyの一般的なコーディングルール調べてからのほうがいいよ
自然に do end と {} の使い分けも出来るように考えられてたりとか
無駄な時間を減らせるようになってる
ちゃんと覚えるつもりならRubyの一般的なコーディングルール調べてからのほうがいいよ
自然に do end と {} の使い分けも出来るように考えられてたりとか
無駄な時間を減らせるようになってる
114デフォルトの名無しさん
2017/05/07(日) 22:19:19.16ID:3+oylOXC reduceという別名をつけてくれたのはありがたいことだと思う
厄介な人間の区別がつけやすくなったからな
厄介な人間の区別がつけやすくなったからな
115デフォルトの名無しさん
2017/05/07(日) 22:25:07.52ID:yCqO92dr LISPER大激怒
116デフォルトの名無しさん
2017/05/07(日) 22:28:15.75ID:vQOCcspz enumeratorが効率的なわけがない
117デフォルトの名無しさん
2017/05/07(日) 22:37:40.27ID:3+oylOXC >>115
Rubyのreduceは別にreduceしてるわけではないし
関数型やってるわけでもないのに「わざわざ」reduceと呼ぶのは
・reduceの動作を理解していない
・Rubyと他の関数型言語等との区別をつけられていない
という点で危険人物の可能性が高い
そして実際にそうだったわけであって
Rubyのreduceは別にreduceしてるわけではないし
関数型やってるわけでもないのに「わざわざ」reduceと呼ぶのは
・reduceの動作を理解していない
・Rubyと他の関数型言語等との区別をつけられていない
という点で危険人物の可能性が高い
そして実際にそうだったわけであって
118デフォルトの名無しさん
2017/05/08(月) 00:02:12.04ID:H9Jpde9f >>112
副作用って書いたのはステートメント単位の話ね
each_charとcharsの違いはたかだか知れてるけど
インクリメントのたびに新しいHash作ってたら
100倍・1000倍のオーダーでパフォーマンス変わるよ
副作用って書いたのはステートメント単位の話ね
each_charとcharsの違いはたかだか知れてるけど
インクリメントのたびに新しいHash作ってたら
100倍・1000倍のオーダーでパフォーマンス変わるよ
119デフォルトの名無しさん
2017/05/08(月) 00:17:01.28ID:cPdEWfXE Rubyではほとんどの場合injectだよな
reduceという名前で書きたい処理だと思ったことはRubyではまだないわ
名前重要、は組み込みライブラリにも適用されるのだ
reduceという名前で書きたい処理だと思ったことはRubyではまだないわ
名前重要、は組み込みライブラリにも適用されるのだ
120デフォルトの名無しさん
2017/05/08(月) 01:00:12.59ID:H9Jpde9f パフォーマンス比較
http://ideone.com/coBqfF
http://ideone.com/coBqfF
121デフォルトの名無しさん
2017/05/08(月) 01:16:43.69ID:RkG8OoQA ループはwhile最強のはずと思ったけど、配列や文字列の添字参照は引数のパースにコストがかかるし
何文字目か数えないといけないからeach_charsのほうがマシだな
何文字目か数えないといけないからeach_charsのほうがマシだな
122デフォルトの名無しさん
2017/05/08(月) 05:42:30.32ID:WmCrZwJe effective rubyに倣ってreduceだわ
123デフォルトの名無しさん
2017/05/08(月) 13:18:08.61ID:iGkkPwEU Rubyist Magazine - map と collect、reduce と inject ―― 名前の違いに見る発想の違い
http://magazine.rubyist.net/?0038-MapAndCollect
俺はmap/reduce派
http://magazine.rubyist.net/?0038-MapAndCollect
俺はmap/reduce派
124デフォルトの名無しさん
2017/05/09(火) 00:44:03.70ID:AJpeMRYn >>123
長ったらしいな。
まず、Rubyは他の言語を参考にした。
map と collect、reduce と inject と2つあるのは
Lispを参考にした名前が、mapとrecude、
Smalltaikを参考にした名前が、collectとinjectである。
というだけだろう?
ここまででRubyの話は終わりじゃないか。
長ったらしいな。
まず、Rubyは他の言語を参考にした。
map と collect、reduce と inject と2つあるのは
Lispを参考にした名前が、mapとrecude、
Smalltaikを参考にした名前が、collectとinjectである。
というだけだろう?
ここまででRubyの話は終わりじゃないか。
125デフォルトの名無しさん
2017/05/09(火) 00:44:54.41ID:AJpeMRYn JavaScriptに標準であるのは、mapとrecudeだな。
126デフォルトの名無しさん
2017/05/09(火) 01:55:29.32ID:lu7Bmdm9 配列の関係でお聞きしたいです
http://ideone.com/ntTNm5
こんな感じで任意の文字列を受け取って、それを1文字ずつ分割するっていう動きなのですが
配列を使って繰り返そうとすると上手くいかないです
http://ideone.com/ePxuDp
どうすれば配列に値を返すことが出来るのでしょうか?
http://ideone.com/ntTNm5
こんな感じで任意の文字列を受け取って、それを1文字ずつ分割するっていう動きなのですが
配列を使って繰り返そうとすると上手くいかないです
http://ideone.com/ePxuDp
どうすれば配列に値を返すことが出来るのでしょうか?
127デフォルトの名無しさん
2017/05/09(火) 02:12:04.57ID:7rjXR/HL スクリプトのちぐはぐさから見て、おそらくコピペ継ぎはぎだけで体系的な学習を全くしてないと思われる
書籍のたのしいRubyを買えとまでは言わないので、なんかどっか適当なアフィサイトででも勉強するといいよ
制御構造と変数のスコープについての勉強が足りない
第6章とか第7章とかそのへんまで読破だ
書籍のたのしいRubyを買えとまでは言わないので、なんかどっか適当なアフィサイトででも勉強するといいよ
制御構造と変数のスコープについての勉強が足りない
第6章とか第7章とかそのへんまで読破だ
128デフォルトの名無しさん
2017/05/09(火) 02:21:33.84ID:7rjXR/HL 最初のスクリプト修正
input = gets.chomp
s1,s2,s3 = input.split(" ")
a = s1.split(//)
b = s2.split(//)
c = s3.split(//)
p a,b,c
次のやつの例
input = gets.chomp
arr = input.split(" ")
result = []
arr.each do |s|
result << s.split(//)
end
result.each do |e|
p e
end
うまく処理が行われるように変数名を変えたのがポイントであるが眠いので説明はほかの人に譲る
とにかく基礎知識が足りないので焦らずにまずは変数とかそのへんの解説を読むのだよ
input = gets.chomp
s1,s2,s3 = input.split(" ")
a = s1.split(//)
b = s2.split(//)
c = s3.split(//)
p a,b,c
次のやつの例
input = gets.chomp
arr = input.split(" ")
result = []
arr.each do |s|
result << s.split(//)
end
result.each do |e|
p e
end
うまく処理が行われるように変数名を変えたのがポイントであるが眠いので説明はほかの人に譲る
とにかく基礎知識が足りないので焦らずにまずは変数とかそのへんの解説を読むのだよ
129デフォルトの名無しさん
2017/05/09(火) 02:28:47.25ID:7rjXR/HL 追記、1行で書くアホが湧くかもしれないがその人は自分のことしか考えてないので現時点では無視してよい
あなたに必要なのは基礎なのだから
ではお先におやすみなさい
あなたに必要なのは基礎なのだから
ではお先におやすみなさい
130デフォルトの名無しさん
2017/05/09(火) 02:39:10.44ID:lu7Bmdm9131デフォルトの名無しさん
2017/05/09(火) 07:31:40.84ID:k6HrUJzH 違う
ローカル変数やブロック変数の動作を全く理解してないのだ
だから自己代入してバグっても何も思わない
ローカル変数やブロック変数の動作を全く理解してないのだ
だから自己代入してバグっても何も思わない
132デフォルトの名無しさん
2017/05/09(火) 07:34:19.28ID:WySm2t9713387
2017/05/09(火) 20:42:21.42ID:ptoav/qt 結局、会社出入のSIの担当に個人的にお願いしました。
10分で数行追加して解決してくれました。Win10の問題とファイル100ケ問題2点があったとか。
自分で解決するのは無理でしたね。
解決してくれた方には10万くらい謝礼を考えていたのですが、この方には辞退されてしまいましたので
二人で銀座のクラブで豪遊して、逆に初任給相当くらいぶっとばしてしまった・・・
孫の写真をEOS-1D X で撮影した数千枚をぜんぶYAhooBOXにに保管していて、家内に怒られており
苛立ってしまい、お騒がせして申し訳ございませんでした。
10分で数行追加して解決してくれました。Win10の問題とファイル100ケ問題2点があったとか。
自分で解決するのは無理でしたね。
解決してくれた方には10万くらい謝礼を考えていたのですが、この方には辞退されてしまいましたので
二人で銀座のクラブで豪遊して、逆に初任給相当くらいぶっとばしてしまった・・・
孫の写真をEOS-1D X で撮影した数千枚をぜんぶYAhooBOXにに保管していて、家内に怒られており
苛立ってしまい、お騒がせして申し訳ございませんでした。
134デフォルトの名無しさん
2017/05/09(火) 20:45:26.48ID:SmlWSda1 書き込みから頭の悪さが伝わってくるな
135デフォルトの名無しさん
2017/05/09(火) 21:36:06.57ID:V+0O6ahJ 孫もいるのに>>92みたいなこと言うのか……
136デフォルトの名無しさん
2017/05/09(火) 22:04:56.60ID:AJpeMRYn だって娘ってもうおばさんじゃん
137デフォルトの名無しさん
2017/05/10(水) 21:24:41.33ID:mz/WKowH まともに取り合ってれば俺が10万もらえたんか?
138デフォルトの名無しさん
2017/05/10(水) 21:38:57.44ID:T9zZBiea いや、可哀想だが、鳥取も被害者だろ。
139デフォルトの名無しさん
2017/05/11(木) 12:25:59.80ID:3ycP24fA 一発だけなら誤射かもしれない
140デフォルトの名無しさん
2017/05/11(木) 22:46:17.95ID:SAAdjKtg MonoにあるIronRuby(ir.exe)でRubyスクリプトを走らせようとすると
unknown: no such file to load -- gem_prelude.rb (LoadError)
というエラーが出て終了してしまいます。
どうすれば良いでしょうか?
unknown: no such file to load -- gem_prelude.rb (LoadError)
というエラーが出て終了してしまいます。
どうすれば良いでしょうか?
141デフォルトの名無しさん
2017/05/11(木) 22:59:59.49ID:jM8xSb+p IronRubyは全くメンテされてないゴミ
諦めてC#使おう
諦めてC#使おう
142デフォルトの名無しさん
2017/05/12(金) 00:42:07.19ID:lh1VWFPT 「gem_prelude.rb LoadError」で検索!
初心者は、paiza.IO, codepad などで、ブラウザでプログラミングするのが簡単
初心者は、paiza.IO, codepad などで、ブラウザでプログラミングするのが簡単
143デフォルトの名無しさん
2017/05/12(金) 03:23:42.25ID:KfydbfhB Rubyとは直接関係ないのですが
RubyMineの補完機能で、入力した段階で自動的に一番上が選択されるようにするにはどうすれば良いのでしょうか?
(IntelliJの方では最初から自動的に選択されてました)
RubyMineとIntelliJの比較
http://i.imgur.com/fgCFVJa.png
http://i.imgur.com/yv6XKJk.png
RubyMineを使ってる方で分かる方はいらっしゃらないでしょうか
RubyMineの補完機能で、入力した段階で自動的に一番上が選択されるようにするにはどうすれば良いのでしょうか?
(IntelliJの方では最初から自動的に選択されてました)
RubyMineとIntelliJの比較
http://i.imgur.com/fgCFVJa.png
http://i.imgur.com/yv6XKJk.png
RubyMineを使ってる方で分かる方はいらっしゃらないでしょうか
144デフォルトの名無しさん
2017/05/12(金) 19:32:54.36ID:HOHLzPdy Rubyでスクレイピングしたいんですが、串がうまく動かないです。串はTorを使いたいと思います。
p "Creating tor agent..."
p "My raw ip address is #{Mechanize.new.get('http://ifconfig.me/ip').body}"
tor ||= TorPrivoxy::Agent.new '127.0.0.1', '', {8118 => 9150} do |agent|
begin
sleep 10
p "My ip address is now chenged to #{agent.ip}"
p tor.get("http://ja.wikipedia.org/wiki/Privoxy").encode(Encoding::SJIS)
rescue
p "エラーです".encode(Encoding::SJIS)
end
end
p "Creating tor agent..."
p "My raw ip address is #{Mechanize.new.get('http://ifconfig.me/ip').body}"
tor ||= TorPrivoxy::Agent.new '127.0.0.1', '', {8118 => 9150} do |agent|
begin
sleep 10
p "My ip address is now chenged to #{agent.ip}"
p tor.get("http://ja.wikipedia.org/wiki/Privoxy").encode(Encoding::SJIS)
rescue
p "エラーです".encode(Encoding::SJIS)
end
end
145デフォルトの名無しさん
2017/05/13(土) 06:47:49.32ID:nrviLaTM どの行で、どんなエラーメッセージが出るの?
そのエラーメッセージで検索すれば?
そのエラーメッセージで検索すれば?
146デフォルトの名無しさん
2017/05/14(日) 09:17:54.13ID:c1+aTdNX rubyでは現在の行とファイルをだすような__LINE__とか__FILE__はないんですか?
147デフォルトの名無しさん
2017/05/14(日) 09:32:49.01ID:4OWrar4G 標準的な動作で不足であるという場合
その不足な動作自体を満たすライブラリの有無を質問するのではなく
そもそも何のためにそれが必要だと考えているのかを述べてみなされ
その不足な動作自体を満たすライブラリの有無を質問するのではなく
そもそも何のためにそれが必要だと考えているのかを述べてみなされ
148デフォルトの名無しさん
2017/05/14(日) 09:51:16.72ID:9iFdkmzT >>146
ある
ある
149デフォルトの名無しさん
2017/05/14(日) 10:01:11.30ID:c1+aTdNX 》》148
ありがとうごぞいます
ありがとうごぞいます
150デフォルトの名無しさん
2017/05/14(日) 21:59:53.35ID:YpRHpm2r Rubyの作者の技術力ってどのくらいなの?
低くはないとおもうけど、そんなにたかくもないの?
低くはないとおもうけど、そんなにたかくもないの?
151デフォルトの名無しさん
2017/05/14(日) 22:07:52.12ID:2j/fEy8A マルチスレッドや文字コード系はあんま詳しくないから詳しい人に手伝って貰ってたとか日経ソフトウェアの昔の対談記事で書いてたな。
ギークって程じゃないと言う印象。
ギークって程じゃないと言う印象。
152デフォルトの名無しさん
2017/05/14(日) 22:11:20.20ID:3p+3tmMb 技術力は知らんが心の底からプログラミング好きなんだなぁとは思うな、言語オタクだから言語作ったそうだし
153デフォルトの名無しさん
2017/05/14(日) 22:25:40.71ID:YpRHpm2r >>151
マルチスレッドや文字コードの仕様もぜんぶ知ってないと、技術力は高いといえない?
日本で技術力が高い人ってどのくらいいるんでしょう。
Ruby作った人でも技術力が高くないといわれたら、道が険しすぎる。
マルチスレッドや文字コードの仕様もぜんぶ知ってないと、技術力は高いといえない?
日本で技術力が高い人ってどのくらいいるんでしょう。
Ruby作った人でも技術力が高くないといわれたら、道が険しすぎる。
154デフォルトの名無しさん
2017/05/14(日) 22:32:18.91ID:DiPyQd5B 言語処理系、特にパフォーマンスを度外視したスクリプト言語の実装ってそんなに難しくないよ
Rubyの互換実装って驚くほど短期間で作られたりするし
Rubyの互換実装って驚くほど短期間で作られたりするし
155デフォルトの名無しさん
2017/05/14(日) 22:40:30.08ID:0pt2h6WS 言語処理系の実装って、経験のない人はなぜかそれがすごく高度なことだというイメージを持ってるよな
やってみたらわかるけど、動かすだけなら意外と全然難しくないよ
ゲームとか作る方がずっと難しい
やってみたらわかるけど、動かすだけなら意外と全然難しくないよ
ゲームとか作る方がずっと難しい
156デフォルトの名無しさん
2017/05/14(日) 22:58:19.67ID:zv0DKnzD 思ったほどには「あらゆることを深く知っている」必要はないよね
言語作成センスと時の運とコミュニティへの頭の下げ方だと思うわ
言語作成センスと時の運とコミュニティへの頭の下げ方だと思うわ
157デフォルトの名無しさん
2017/05/14(日) 23:12:20.70ID:3p+3tmMb 「実装」なら俺でもできるが「設計」はなぁ
158デフォルトの名無しさん
2017/05/14(日) 23:24:09.84ID:Xbcx3KQE159デフォルトの名無しさん
2017/05/14(日) 23:29:39.07ID:Xbcx3KQE160デフォルトの名無しさん
2017/05/14(日) 23:44:43.80ID:SkVs727u あらゆる分野においてエキスパートじゃないと技術があるとは言えない、と本気で思い込んでる
人がちらほらいるようで
そんなウルトラスーパーハカーなんて世界に何人いることやら
人がちらほらいるようで
そんなウルトラスーパーハカーなんて世界に何人いることやら
161デフォルトの名無しさん
2017/05/14(日) 23:57:58.99ID:4upkAWVg これでも貼ってみるか
マツドサイエンティスト・研究日誌 保存版 システムエンジニアリング(その4) 超人にならなくていい
ttp://anoda.web.fc2.com/weblog/20050424.html
日本は完璧主義だからか平気で完璧超人を求めるよね
マツドサイエンティスト・研究日誌 保存版 システムエンジニアリング(その4) 超人にならなくていい
ttp://anoda.web.fc2.com/weblog/20050424.html
日本は完璧主義だからか平気で完璧超人を求めるよね
162デフォルトの名無しさん
2017/05/14(日) 23:58:21.34ID:aG/BUJsi 多分「完成度」の基準がみんなバラバラすぎて上手くコミュニケーションが取れてないな
Brainfuck系言語というか、いわゆる難解プログラミング言語みたいなジョークみたいな物だったら
確かに「実装」は簡単
が、Ruby、PHP、Pythoみたいに一つの主要言語にまで昇華させるには
言語設計まで含めてめちゃくちゃ大変な作業が必要になる
なので
Rubyっぽい、プログラム言語っぽく動く何かを作る→頑張れば出来る
RubyやPythonの設計思想を受け継ぎながら、独自の言語設計に基づいて言語を作る→並大抵の人間には出来ない代物
っていう感じかな「
Brainfuck系言語というか、いわゆる難解プログラミング言語みたいなジョークみたいな物だったら
確かに「実装」は簡単
が、Ruby、PHP、Pythoみたいに一つの主要言語にまで昇華させるには
言語設計まで含めてめちゃくちゃ大変な作業が必要になる
なので
Rubyっぽい、プログラム言語っぽく動く何かを作る→頑張れば出来る
RubyやPythonの設計思想を受け継ぎながら、独自の言語設計に基づいて言語を作る→並大抵の人間には出来ない代物
っていう感じかな「
163デフォルトの名無しさん
2017/05/15(月) 00:04:17.64ID:6XCGPePS164デフォルトの名無しさん
2017/05/15(月) 08:25:41.29ID:AFguA/nP だからだれなんだよそんな偉そうなのは
165デフォルトの名無しさん
2017/05/15(月) 09:26:37.14ID:jzzH2kBs RubyはMatzが数学苦手なのが良かった
結果、平均的なPGの頭に合った言語になった
頭の良すぎる人が作った言語は結局一部の人間のオナニーで終わっちゃう
FortranとかCとかJavaとかC#とかは頭の良い人たちが本気でボリューム層向けに作った完璧な「製品」だけど、
そういうのに比べるとRubyはまあ適度な頭の緩さが馴染みやすいよね
結果、平均的なPGの頭に合った言語になった
頭の良すぎる人が作った言語は結局一部の人間のオナニーで終わっちゃう
FortranとかCとかJavaとかC#とかは頭の良い人たちが本気でボリューム層向けに作った完璧な「製品」だけど、
そういうのに比べるとRubyはまあ適度な頭の緩さが馴染みやすいよね
166デフォルトの名無しさん
2017/05/15(月) 21:51:39.50ID:xoO/l6gC167デフォルトの名無しさん
2017/05/17(水) 01:45:08.88ID:y0sg8W2t それいいな。俺も困った時に使ってみよう
たくさんのひとがリツイしてたから、自分で探したら出てくるかもよ。
たくさんのひとがリツイしてたから、自分で探したら出てくるかもよ。
168デフォルトの名無しさん
2017/05/17(水) 04:25:58.23ID:Q6ZDgQU6 うーん、あまりにも初心者過ぎてあれなんだが、プログラミングを学び始めて
まずrubyを真面目にやろうと思ったんだ。他の言語もさわりはしたんだけどね。
でも、実際に環境を構築しようとrubyをインストールして、
環境変数のPathの設定も本の通りに確認したんだけど
実際に打つと#とかで内部コマンド〜ファイルとして認識されていませんって
出るんよ、 Pathって打ってみるときちんとCドライブのRubyのbinを
参照?してるんだけど・・・私はどこを間違えているんだろう。
まずrubyを真面目にやろうと思ったんだ。他の言語もさわりはしたんだけどね。
でも、実際に環境を構築しようとrubyをインストールして、
環境変数のPathの設定も本の通りに確認したんだけど
実際に打つと#とかで内部コマンド〜ファイルとして認識されていませんって
出るんよ、 Pathって打ってみるときちんとCドライブのRubyのbinを
参照?してるんだけど・・・私はどこを間違えているんだろう。
169デフォルトの名無しさん
2017/05/17(水) 05:58:15.48ID:AoGXWMN0170デフォルトの名無しさん
2017/05/17(水) 06:20:15.54ID:Q6ZDgQU6 >>169
そですねー、私もまずコミュニティ的なものを探したんですけど
勉強会みたいなのはあるのに、こういった掲示板的なものは
みつけられないんですよね。初心者はわりかしきついですね。
相変わらず四苦八苦してますw
2chはマイナーなものは、あまり素人は歓迎されない気もしますね。
そですねー、私もまずコミュニティ的なものを探したんですけど
勉強会みたいなのはあるのに、こういった掲示板的なものは
みつけられないんですよね。初心者はわりかしきついですね。
相変わらず四苦八苦してますw
2chはマイナーなものは、あまり素人は歓迎されない気もしますね。
171デフォルトの名無しさん
2017/05/17(水) 06:20:34.43ID:+84GJVyA まさか生のrubyコードをコマンドプロンプトに『打ち込んでるんじゃ
172デフォルトの名無しさん
2017/05/17(水) 06:34:58.31ID:AoGXWMN0173デフォルトの名無しさん
2017/05/17(水) 06:50:32.62ID:AoGXWMN0174デフォルトの名無しさん
2017/05/17(水) 06:53:25.51ID:+84GJVyA きっと「#」で始まる行をコピペしてコマンドプロンプトにそのまま張り付けたんじゃないのかね
binにパス通ってるならirb起動すれば幸せになれるかもね
binにパス通ってるならirb起動すれば幸せになれるかもね
175デフォルトの名無しさん
2017/05/17(水) 07:06:09.77ID:Q6ZDgQU6 >>171
あははw
いろいろあって混乱してたんだw
本にもテキストエディタで書けって書いてあったw
その前にPath関係の確認させられてたから勘違いしてしまった。
すごいあっさり大事なことが色々かいてあるとこ見逃してたw
C言語の勉強をrubyの勉強する前に触っておこうと思って
コンパイラに書いてたような感覚でやってしまったw
rubyのさわりもブラウザ上で書く感じの勉強だったんだ
だ、だから違うんよ?うん、違う違う。知ってた知ってた。
あははw
いろいろあって混乱してたんだw
本にもテキストエディタで書けって書いてあったw
その前にPath関係の確認させられてたから勘違いしてしまった。
すごいあっさり大事なことが色々かいてあるとこ見逃してたw
C言語の勉強をrubyの勉強する前に触っておこうと思って
コンパイラに書いてたような感覚でやってしまったw
rubyのさわりもブラウザ上で書く感じの勉強だったんだ
だ、だから違うんよ?うん、違う違う。知ってた知ってた。
176デフォルトの名無しさん
2017/05/17(水) 07:15:15.40ID:Q6ZDgQU6 まあ、初心者ってこういうくだらない質問するもんだから、許して笑ってくれさい。
そして、そういう初心者用のコミュニティは作れないっていうか、
初心者が作っても人集まらないだろうからここでできれば助けて下さい。
rubyスレ希少なんです・・・という初心者の声なのでした。
そして、そういう初心者用のコミュニティは作れないっていうか、
初心者が作っても人集まらないだろうからここでできれば助けて下さい。
rubyスレ希少なんです・・・という初心者の声なのでした。
177デフォルトの名無しさん
2017/05/17(水) 07:20:26.73ID:AoGXWMN0 >>176
俺はそういうのが作りたいんだー
俺はそういうのが作りたいんだー
178デフォルトの名無しさん
2017/05/17(水) 07:21:52.55ID:AoGXWMN0 2chって「初心者」って言葉に食いつく妖怪もいるからなぁ
179デフォルトの名無しさん
2017/05/17(水) 07:35:16.07ID:zoT6JpA4 OKWAVEとかどう?
180デフォルトの名無しさん
2017/05/17(水) 07:44:52.13ID:AoGXWMN0181デフォルトの名無しさん
2017/05/17(水) 07:53:53.40ID:S++XgTKO >>172
掲示板を立ち上げること自体は難しくないけど、管理維持するには住人やISPなどのバックアップが必要不可欠
個人で運営する場合は、住人による自治が基本になるしそれで対応しきれない案件に関しては管理人やISPによる強権発動で対応
これらの支援を受けられなくなって久しいし、荒らしに対応できなくなるのは目に見えていて長期的維持を望めない
あと技術の初心者は構わないがコミュ力初心者は遠慮願わないと。今や「初心者は免罪符ではない」などと言われることも無くなったしなぁ・・・
掲示板を立ち上げること自体は難しくないけど、管理維持するには住人やISPなどのバックアップが必要不可欠
個人で運営する場合は、住人による自治が基本になるしそれで対応しきれない案件に関しては管理人やISPによる強権発動で対応
これらの支援を受けられなくなって久しいし、荒らしに対応できなくなるのは目に見えていて長期的維持を望めない
あと技術の初心者は構わないがコミュ力初心者は遠慮願わないと。今や「初心者は免罪符ではない」などと言われることも無くなったしなぁ・・・
182デフォルトの名無しさん
2017/05/17(水) 07:55:53.94ID:AoGXWMN0 >>179
そこのRubyカテゴリは1ヶ月眠ってるがな
そこのRubyカテゴリは1ヶ月眠ってるがな
183デフォルトの名無しさん
2017/05/17(水) 08:48:21.65ID:vMnI7rwx 2ch以外で質問できそうな所っていうとこの辺のサイトか
質問できる所
テラテイル
https://teratail.com/
スタック・オーバーフロー
https://ja.stackoverflow.com/
Rubyの記事投稿が多い所
Qiita
http://qiita.com/
質問できる所
テラテイル
https://teratail.com/
スタック・オーバーフロー
https://ja.stackoverflow.com/
Rubyの記事投稿が多い所
Qiita
http://qiita.com/
184デフォルトの名無しさん
2017/05/17(水) 09:02:29.68ID:AoGXWMN0 >>183
teratailもstackoverflowも質問することがはっきりしてる場合なんだよね
ある程度のレベルがいるし。
Qiitaいいたっては聞くというより情報発信サイトかと思われる
でも
今Qiitaに登録したったw
teratailもstackoverflowも質問することがはっきりしてる場合なんだよね
ある程度のレベルがいるし。
Qiitaいいたっては聞くというより情報発信サイトかと思われる
でも
今Qiitaに登録したったw
185デフォルトの名無しさん
2017/05/17(水) 10:02:00.71ID:vwwaD4yq186デフォルトの名無しさん
2017/05/17(水) 15:22:05.45ID:O9qCgXnQ >>183
SOのjpはやめとけ
SOのjpはやめとけ
187デフォルトの名無しさん
2017/05/17(水) 15:34:35.54ID:P4LQUJ7D188デフォルトの名無しさん
2017/05/17(水) 15:58:25.56ID:JDHyCaYk 日本語のスタックオーバーフローって検索の上位に出てこないイメージ
ってことは・・・・・・
ってことは・・・・・・
189デフォルトの名無しさん
2017/05/17(水) 18:45:28.28ID:AoGXWMN0 Ruby2.4のリファレンスマニュアルをダウンロードするにはどうしたらいいのー
190デフォルトの名無しさん
2017/05/17(水) 19:08:51.18ID:+84GJVyA 階層構造を保持したままローカルに保存できるソフトでも使えば
191デフォルトの名無しさん
2017/05/17(水) 19:20:27.17ID:t1VY0/wg 昔はzipとかなかったっけ
192デフォルトの名無しさん
2017/05/17(水) 19:24:12.98ID:AoGXWMN0 古いバージョンのマニュアルと最新のならダウンロードできるようになってるんだけどね
193デフォルトの名無しさん
2017/05/17(水) 22:49:59.99ID:OcBoOJyM >>164,166
どこの誰かは覚えてないといったけど、ふと思って探してみたら、あっさり見つかった。
ttps://mobile.twitter.com/kmizu/status/857032083046256641
> ソフトウェア分野一般に通じる「技術力」というのは実際には
> 存在しないのにあると信じられている幻想だと思う。その幻想が
> 広く信じられている結果として、たとえば著名プログラミング言語の
> 作者はスーパープログラマのように思われがちだとかいう現象が発生する。
たしかこれだった。
どこの誰かは覚えてないといったけど、ふと思って探してみたら、あっさり見つかった。
ttps://mobile.twitter.com/kmizu/status/857032083046256641
> ソフトウェア分野一般に通じる「技術力」というのは実際には
> 存在しないのにあると信じられている幻想だと思う。その幻想が
> 広く信じられている結果として、たとえば著名プログラミング言語の
> 作者はスーパープログラマのように思われがちだとかいう現象が発生する。
たしかこれだった。
194デフォルトの名無しさん
2017/05/17(水) 23:14:17.43ID:Id1y7eqA JavaとかC#の作者は実際凄いらしいね
Matzは祭り上げられてる割にはRuby以外でほとんど実績らしい実績を聞かない
Matzは祭り上げられてる割にはRuby以外でほとんど実績らしい実績を聞かない
195デフォルトの名無しさん
2017/05/17(水) 23:20:38.33ID:y0sg8W2t JavaとかC#の作者の名前は?
Matz個人、人間一人と渡り合えるなんて、すごい人だろうね。
Matz個人、人間一人と渡り合えるなんて、すごい人だろうね。
196デフォルトの名無しさん
2017/05/17(水) 23:23:53.49ID:Id1y7eqA197デフォルトの名無しさん
2017/05/17(水) 23:25:17.03ID:y0sg8W2t 「チーフアーキテクトは」ってことは
それ以外の役職の人がいるってこと?
Matz一人に対して複数の人があつまらないと
対抗できないってのはちょっと恥ずかしくね?
それ以外の役職の人がいるってこと?
Matz一人に対して複数の人があつまらないと
対抗できないってのはちょっと恥ずかしくね?
198デフォルトの名無しさん
2017/05/17(水) 23:27:09.81ID:SKu/yZ4u >>197
それを言うならRubyだってMatzが全部決めてる訳じゃないよ
それを言うならRubyだってMatzが全部決めてる訳じゃないよ
199デフォルトの名無しさん
2017/05/17(水) 23:27:10.61ID:y0sg8W2t200デフォルトの名無しさん
2017/05/17(水) 23:27:20.00ID:Noyf0zx+ コンパイラとインタプリタじゃ難易度全然違うしな。
C#の作者なんかはTurbo Pascal,同C,同C++,Delphi,C++Builder,Visual J++,VC#,TypeScriptと、言語もだけどライブラリも設計してる。
ベテラン中のベテラン。
センスも経験も数段上。
C#の作者なんかはTurbo Pascal,同C,同C++,Delphi,C++Builder,Visual J++,VC#,TypeScriptと、言語もだけどライブラリも設計してる。
ベテラン中のベテラン。
センスも経験も数段上。
201デフォルトの名無しさん
2017/05/17(水) 23:28:28.62ID:Noyf0zx+ あ、言語はオリジナルはC#とTypeScriptだけだから、コンパイラとライブラリの設計がほとんどやね。
202デフォルトの名無しさん
2017/05/17(水) 23:30:32.17ID:zoT6JpA4 JavaとかC#はチームで作ったものだからね
基本的な部分はチーフがやったとしても全体を作り上げたのはチームだから
チーフがすべての部分についてウルトラスーパーハカーである必要はないんだよ
基本的な部分はチーフがやったとしても全体を作り上げたのはチームだから
チーフがすべての部分についてウルトラスーパーハカーである必要はないんだよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント [ひかり★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- アイヌ民族の「戸籍簿」がヤフオクで落札 団体「人権無視」と憤り [蚤の市★]
- 訪米認証「ESTA」、SNS利用情報の提出義務化へ 日本人観光客も対象に [蚤の市★]
- 「身を切る改革」どこへ? 維新「身内」への公金支出、地方でも続々 [蚤の市★]
- 【画像】東京都民「助けて!満員電車もう無理いいぃぃいいぃぃぃいいいいいぃ😭」!!!! [732289945]
- 【誰食】おせち料理で確実にゴミ箱行きになる食材1位、「黒豆」 [748563222]
- もしジャンプ漫画のヒロインたちが作品別で相手してくれる風俗店があったら一番行ってみたいのは
- 一般人「起きなきゃ…」 俺ら「寝ようかなzzz」
- 【悲報】山上徹也、社会人時代にも彼女がいた模様 [455031798]
- 世の中お金掛かる趣味ばかりだからエアガンだけで虫ぶち殺す事でもしようかな
