Ruby 初心者スレッド Part 60 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/04/29(土) 02:01:58.34ID:urVXnFrH
プログラミング言語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/
2017/05/04(木) 23:50:13.53ID:rtRP+bqL
趣味または職業プログラマーとして「生きていく」のにRubyは強力に役立つ
ただし職業プログラマーとして「働く」のにはあまり役に立たない

これはそういうものだ
食べていくのならRubyだけじゃなくRuby「とそれ以外」を身に着けろ
2017/05/05(金) 00:40:00.34ID:ayKeenIH
それってRuby以外の言語でも言える事じゃね?

というか国はプログラマーの育成に力を入れているようだけどその実態はコーダーの育成
世界で戦っていく上で必要なのは英語の意味でのシステムエンジニア(≠ソフトウェアエンジニア)だろ・・・
2017/05/05(金) 00:42:47.93ID:YKLEnk0e
ハローワークでも、Pythonの求人は、ほとんどないけど、

Rubyの求人は、たまに見る
2017/05/05(金) 01:01:51.97ID:78DJCXmh
Ruby覚えたら次はJavaでもC#でも飯の種になりそうな言語覚えれば良いじゃん
他の言語について知ると元の言語の理解も深まるから
それこそプログラマとして働くなら特定の言語だけしか使えないなんてありえないよ
2017/05/05(金) 01:05:47.85ID:TDjvniVu
日本に必要なのは質の高いプログラマーだと思うぞ
世界で戦えるサービスやアプリが少ないのはプログラマーの質の問題が大きい

教育面で言えばごくごく一部の大学と大学院を除くと
日本の大学よりCourseraで受けられる講義のほうがレベル高いからな
小学生にプログラミング教育するより高等教育に力入れないと話にならん

あとハローワークは知らんがRubyの求人は普通にあるよ
Rubyで人とるようなところはハロワに出さないだけじゃないの
リクナビとか一般的なサイトで調べてみたら?
2017/05/05(金) 01:44:48.67ID:mu06C9qQ
文法覚えて食えるんだったらせわないわ。
2017/05/05(金) 02:14:13.82ID:iQB12R96
とりあえずRubyで色々作れるなら、他の言語でも文法とライブラリ覚えりゃ作れるでしょ。
ある日Javaでこれ作って。って言われたらJava入門書とWebのドキュメントで翌日には学びながら作り始めるのが当たり前の世界よ?

ソースはおいら。
2017/05/05(金) 15:07:31.63ID:K1twnG6D
ねえねえ、Rubyバイナリのバージョン管理って今でもrbenvでいいの?
2017/05/05(金) 19:19:15.08ID:u3v3zIiy
https://ideone.com/baTUOX
二乗の和をもとめたいのですが,うまくいきません

https://ideone.com/may0rV
との違いはなんでしょうか?
2017/05/05(金) 19:33:23.14ID:78DJCXmh
>>78
https://ideone.com/zCU275
評価順が違う
戻り値をそのまま使う時は {}
そうでなければ do end が普通かな
2017/05/05(金) 19:55:45.07ID:yiYPdEw2
これはdo...endと{}の結合の強さの違いによる問題だね
ここ参照して
http://rurema.clear-code.com/2.4.0/doc/spec=2fcall.html#block
上でも言われてるけどブロック付きメソッドの戻り値をpしたいときは{}使わないと思ったように動かないよ
2017/05/05(金) 19:56:57.31ID:u3v3zIiy
>>79
コメントありがとうございます.

しかし手元の教科書(たのしいruby)では
obj.method(list) do | ブロック変数|

end



obj.method(list) { | ブロック変数|

}
は互換であると書いてあります.評価順序の違い,とは >>78 のプログラム例では,どのような順序になるから,違う,といえるのでしょうか?
2017/05/05(金) 20:02:27.64ID:yiYPdEw2
例えば
p (1..10).map{|i| i**2}
は(1..10).map{|i| i**2}の戻り値をpするけど
p (1..10).map do |i| i**2 end

p((1..10).map) do |i| i**2 end
と同じ動きをする。
互換というのは明らかな誤謬。
2017/05/05(金) 20:05:43.45ID:u3v3zIiy
>>82
なるほど,よくわかりました
丁寧な回答ありがとうございました
2017/05/05(金) 20:10:13.54ID:yiYPdEw2
ついでに、いちいち書き換えるのが面倒なら
(1..10).map do |i| i**2 end.display
(1..10).map do |i| i**2 end.tap{|e| p e}
とかって書くのもありだね
2017/05/05(金) 20:20:15.00ID:sevG6PSJ
mapをdo end で書くのキモい
2017/05/05(金) 23:25:26.52ID:G0OfeBgr
結合の強さって初めて知ったわ
こんな仕様あったのか
87デフォルトの名無しさん
垢版 |
2017/05/06(土) 14:02:42.85ID:2cSynca3
教えてください。(当方Rubyまったく無知です。)

下記のスクリプトを走らせるとSSLエラーが出るので、
拾ってきた証明書を読ませて何とかしたのですが、
open-uri.rb:359:in `open_http': 403 Forbidden (OpenURI::HTTPError)
と、エラーが出ます。UserAgentや認証やら何かでけられてると思うんですが。
403.1とかのサブエラー返してくれればまだしも原因わからず。

※Yahooボックスから一括DL
ttp://lp6m.hatenablog.com/entry/2016/08/12/184232
2017/05/06(土) 14:25:24.99ID:5w6KEOXn
つまりそのためにYahooのアカウント取ってBOXに何か入れて検証しろと
2017/05/06(土) 18:26:04.98ID:l3lhsLeM
普通に認証失敗してんだろ
認証に成功してるかどうかもわからないコード使って
Ruby無知です、わかりません、教えてくださいって酷いゆとりだね
2017/05/06(土) 18:31:44.81ID:5w6KEOXn
Rubyを学んでいないのならこんな古臭いスクリプトをわざわざRuby入れて使う必要はない
2017/05/06(土) 19:32:19.76ID:s8HixK2i
yahoo box さらうプログラムなら他にもあるよな
92デフォルトの名無しさん
垢版 |
2017/05/06(土) 20:03:38.15ID:2cSynca3
自覚も無い人間の屑共が消えろゴミカス
2017/05/06(土) 20:23:44.39ID:s8HixK2i
私たちはあなたのような人を売るほど見てきてるのですよルンルン
2017/05/07(日) 03:19:50.14ID:edBtKeoY
>>80-84
{ }, do〜end は互換じゃなかったのか!

しかし、ブロックの外側に、p を付ける方が、おかしい!

ブロックの外側に、p を付けるって事は、ブロック全体の戻り値を表示する事になる。
ブロック内の各処理の結果じゃない
2017/05/07(日) 03:25:08.49ID:edBtKeoY
>>87-92
たぶん、Rubyの問題ではない

「403 Forbidden OpenURI::HTTPError」で検索!
2017/05/07(日) 04:53:57.72ID:cg7edk1d
case文書く時に
case 比較したいオブジェクト名
when 値1 then
文1
って書いてあるけど
別に比較したいオブジェクト名を省略しても動くよね
ただリファレンス見てもその辺の注釈が無いけど、どういう理屈で動いてるんだろう
2017/05/07(日) 08:48:03.37ID:xlJMQ4jE
>>96
caseに値を指定するかどうかでwhenの値の扱いが変わる
特に不思議な仕掛けがある訳じゃなく、単純に文法上別の動作をするってだけのこと
リファレンスにも普通に書いてあるぞ
2017/05/07(日) 10:30:19.21ID:qkFjvNg9
>>94
>しかし、ブロックの外側に、p を付ける方が、おかしい!
なるほど、何もしらない初学者だから、こういったこともよくわかっていなかったのです
今後ともよろしくお願いいたします。

今演習をしていますが、
s = "Ruby is an object oriented programming language"
に含まれるアルファベットの頻度をカウントしようとして
s.each_char do |c| で、手がとまっています
2017/05/07(日) 10:32:21.91ID:ZvN12MF9
そうですか頑張ってください
2017/05/07(日) 10:49:01.57ID:yCqO92dr
s.chars.uniq.each_with_object({}){|c,h|h[c]=s.count(c)}
2017/05/07(日) 10:50:54.94ID:yCqO92dr
あと別にブロックの外側に、p を付ける事はおかしくない
ブロック全体の戻り値が知りたいときだってあるでしょう
2017/05/07(日) 11:42:11.78ID:cg7edk1d
>>97
よく読んだらcase文の最後の所に
省略した場合の挙動が書いてありました・・・・・・申し訳ないです
しかしこれで色々と楽が出来そうです、ありがとうございました
2017/05/07(日) 14:43:52.81ID:bug3EadL
>>98
Rubyに限った話じゃないけどある処理を実装しようとする時は
その処理の入力と出力の型を最初に考えるといいと思うよ
(厳密に定義されてる型じゃなくても別によくて入出力の形式くらいの意味)

例えば
文字列の文字出現頻度をカウントするメソッドの入出力は
string -> hash {“a” => 3, “b” => 5, …}

でeach_charに渡すブロックの入出力は
char -> hash

でcharを1つずつ受け取って意図したhashを返すにはどうするのかを考える
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

入出力の型を考えて、ロジックを考えて、ロジックをコードで表現する方法を見つける
2017/05/07(日) 15:19:04.40ID:2pnfBwSz
>>104
副作用の意味分かってる?
2017/05/07(日) 15:42:28.57ID:3+oylOXC
大学すら行ったことのない人は「演習」の意味も分からず>>103-104みたいなことを書くのだ
気をつけようね
2017/05/07(日) 16:16:42.30ID:2pnfBwSz
reduceは考え方が手続き型に近いので、関数型特有のトップダウンな思考が身についてない人にも馴染みやすいためか、低スキルな人が好んで使うよね
故に>>104のように無自覚に副作用書いちゃう馬鹿野郎も多い
2017/05/07(日) 18:08:01.01ID:vOdx9BxG
ここでネタ書いてる人がいる.

http://jbpress.ismedia.jp/articles/-/49927?page=3
2017/05/07(日) 18:18:09.31ID:qkFjvNg9
ruby の記述力には感動すら感じさせられますね
今回、必要があって ruby を始めましたが、末永くお付き合いさせていただくことになりそうですね、C/C++ だけに眠っていたのは損失でした…
2017/05/07(日) 20:38:50.83ID:YLCveNdh
>>108
自己紹介GJ
111デフォルトの名無しさん
垢版 |
2017/05/07(日) 21:06:49.51ID:edBtKeoY
>>98
>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)へ
 チェーンさせたほうが効率的である
2017/05/07(日) 21:47:04.67ID:hR29VPCg
>>109
ちゃんと覚えるつもりならRubyの一般的なコーディングルール調べてからのほうがいいよ
自然に do end と {} の使い分けも出来るように考えられてたりとか
無駄な時間を減らせるようになってる
2017/05/07(日) 22:19:19.16ID:3+oylOXC
reduceという別名をつけてくれたのはありがたいことだと思う
厄介な人間の区別がつけやすくなったからな
2017/05/07(日) 22:25:07.52ID:yCqO92dr
LISPER大激怒
2017/05/07(日) 22:28:15.75ID:vQOCcspz
enumeratorが効率的なわけがない
2017/05/07(日) 22:37:40.27ID:3+oylOXC
>>115
Rubyのreduceは別にreduceしてるわけではないし
関数型やってるわけでもないのに「わざわざ」reduceと呼ぶのは
・reduceの動作を理解していない
・Rubyと他の関数型言語等との区別をつけられていない
という点で危険人物の可能性が高い
そして実際にそうだったわけであって
2017/05/08(月) 00:02:12.04ID:H9Jpde9f
>>112
副作用って書いたのはステートメント単位の話ね

each_charとcharsの違いはたかだか知れてるけど
インクリメントのたびに新しいHash作ってたら
100倍・1000倍のオーダーでパフォーマンス変わるよ
2017/05/08(月) 00:17:01.28ID:cPdEWfXE
Rubyではほとんどの場合injectだよな
reduceという名前で書きたい処理だと思ったことはRubyではまだないわ
名前重要、は組み込みライブラリにも適用されるのだ
2017/05/08(月) 01:00:12.59ID:H9Jpde9f
パフォーマンス比較
http://ideone.com/coBqfF
2017/05/08(月) 01:16:43.69ID:RkG8OoQA
ループはwhile最強のはずと思ったけど、配列や文字列の添字参照は引数のパースにコストがかかるし
何文字目か数えないといけないからeach_charsのほうがマシだな
2017/05/08(月) 05:42:30.32ID:WmCrZwJe
effective rubyに倣ってreduceだわ
2017/05/08(月) 13:18:08.61ID:iGkkPwEU
Rubyist Magazine - map と collect、reduce と inject ―― 名前の違いに見る発想の違い
http://magazine.rubyist.net/?0038-MapAndCollect

俺はmap/reduce派
2017/05/09(火) 00:44:03.70ID:AJpeMRYn
>>123
長ったらしいな。

まず、Rubyは他の言語を参考にした。
map と collect、reduce と inject と2つあるのは
Lispを参考にした名前が、mapとrecude、
Smalltaikを参考にした名前が、collectとinjectである。
というだけだろう?
ここまででRubyの話は終わりじゃないか。
2017/05/09(火) 00:44:54.41ID:AJpeMRYn
JavaScriptに標準であるのは、mapとrecudeだな。
2017/05/09(火) 01:55:29.32ID:lu7Bmdm9
配列の関係でお聞きしたいです
http://ideone.com/ntTNm5
こんな感じで任意の文字列を受け取って、それを1文字ずつ分割するっていう動きなのですが

配列を使って繰り返そうとすると上手くいかないです
http://ideone.com/ePxuDp

どうすれば配列に値を返すことが出来るのでしょうか?
2017/05/09(火) 02:12:04.57ID:7rjXR/HL
スクリプトのちぐはぐさから見て、おそらくコピペ継ぎはぎだけで体系的な学習を全くしてないと思われる
書籍のたのしいRubyを買えとまでは言わないので、なんかどっか適当なアフィサイトででも勉強するといいよ
制御構造と変数のスコープについての勉強が足りない
第6章とか第7章とかそのへんまで読破だ
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

うまく処理が行われるように変数名を変えたのがポイントであるが眠いので説明はほかの人に譲る
とにかく基礎知識が足りないので焦らずにまずは変数とかそのへんの解説を読むのだよ
2017/05/09(火) 02:28:47.25ID:7rjXR/HL
追記、1行で書くアホが湧くかもしれないがその人は自分のことしか考えてないので現時点では無視してよい
あなたに必要なのは基礎なのだから
ではお先におやすみなさい
2017/05/09(火) 02:39:10.44ID:lu7Bmdm9
>>128
あ、新しく空の配列作っておいて
繰り返しの時に、分割した結果をその中に入れるっていう処理にすれば良かったんですね
ありがとうございました!
2017/05/09(火) 07:31:40.84ID:k6HrUJzH
違う
ローカル変数やブロック変数の動作を全く理解してないのだ
だから自己代入してバグっても何も思わない
2017/05/09(火) 07:34:19.28ID:WySm2t97
>>131
あー、確かにその辺は凄い曖昧ですね・・・・・・
もう一回その周辺含めて勉強し直します
13387
垢版 |
2017/05/09(火) 20:42:21.42ID:ptoav/qt
結局、会社出入のSIの担当に個人的にお願いしました。
10分で数行追加して解決してくれました。Win10の問題とファイル100ケ問題2点があったとか。
自分で解決するのは無理でしたね。

解決してくれた方には10万くらい謝礼を考えていたのですが、この方には辞退されてしまいましたので
二人で銀座のクラブで豪遊して、逆に初任給相当くらいぶっとばしてしまった・・・
孫の写真をEOS-1D X で撮影した数千枚をぜんぶYAhooBOXにに保管していて、家内に怒られており
苛立ってしまい、お騒がせして申し訳ございませんでした。
2017/05/09(火) 20:45:26.48ID:SmlWSda1
書き込みから頭の悪さが伝わってくるな
2017/05/09(火) 21:36:06.57ID:V+0O6ahJ
孫もいるのに>>92みたいなこと言うのか……
2017/05/09(火) 22:04:56.60ID:AJpeMRYn
だって娘ってもうおばさんじゃん
137デフォルトの名無しさん
垢版 |
2017/05/10(水) 21:24:41.33ID:mz/WKowH
まともに取り合ってれば俺が10万もらえたんか?
2017/05/10(水) 21:38:57.44ID:T9zZBiea
いや、可哀想だが、鳥取も被害者だろ。
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)

というエラーが出て終了してしまいます。
どうすれば良いでしょうか?
2017/05/11(木) 22:59:59.49ID:jM8xSb+p
IronRubyは全くメンテされてないゴミ
諦めてC#使おう
2017/05/12(金) 00:42:07.19ID:lh1VWFPT
「gem_prelude.rb LoadError」で検索!

初心者は、paiza.IO, codepad などで、ブラウザでプログラミングするのが簡単
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を使ってる方で分かる方はいらっしゃらないでしょうか
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
145デフォルトの名無しさん
垢版 |
2017/05/13(土) 06:47:49.32ID:nrviLaTM
どの行で、どんなエラーメッセージが出るの?

そのエラーメッセージで検索すれば?
2017/05/14(日) 09:17:54.13ID:c1+aTdNX
rubyでは現在の行とファイルをだすような__LINE__とか__FILE__はないんですか?
2017/05/14(日) 09:32:49.01ID:4OWrar4G
標準的な動作で不足であるという場合
その不足な動作自体を満たすライブラリの有無を質問するのではなく
そもそも何のためにそれが必要だと考えているのかを述べてみなされ
2017/05/14(日) 09:51:16.72ID:9iFdkmzT
>>146
ある
2017/05/14(日) 10:01:11.30ID:c1+aTdNX
》》148
ありがとうごぞいます
2017/05/14(日) 21:59:53.35ID:YpRHpm2r
Rubyの作者の技術力ってどのくらいなの?
低くはないとおもうけど、そんなにたかくもないの?
2017/05/14(日) 22:07:52.12ID:2j/fEy8A
マルチスレッドや文字コード系はあんま詳しくないから詳しい人に手伝って貰ってたとか日経ソフトウェアの昔の対談記事で書いてたな。
ギークって程じゃないと言う印象。
2017/05/14(日) 22:11:20.20ID:3p+3tmMb
技術力は知らんが心の底からプログラミング好きなんだなぁとは思うな、言語オタクだから言語作ったそうだし
2017/05/14(日) 22:25:40.71ID:YpRHpm2r
>>151
マルチスレッドや文字コードの仕様もぜんぶ知ってないと、技術力は高いといえない?
日本で技術力が高い人ってどのくらいいるんでしょう。

Ruby作った人でも技術力が高くないといわれたら、道が険しすぎる。
2017/05/14(日) 22:32:18.91ID:DiPyQd5B
言語処理系、特にパフォーマンスを度外視したスクリプト言語の実装ってそんなに難しくないよ
Rubyの互換実装って驚くほど短期間で作られたりするし
2017/05/14(日) 22:40:30.08ID:0pt2h6WS
言語処理系の実装って、経験のない人はなぜかそれがすごく高度なことだというイメージを持ってるよな
やってみたらわかるけど、動かすだけなら意外と全然難しくないよ
ゲームとか作る方がずっと難しい
2017/05/14(日) 22:58:19.67ID:zv0DKnzD
思ったほどには「あらゆることを深く知っている」必要はないよね
言語作成センスと時の運とコミュニティへの頭の下げ方だと思うわ
2017/05/14(日) 23:12:20.70ID:3p+3tmMb
「実装」なら俺でもできるが「設計」はなぁ
2017/05/14(日) 23:24:09.84ID:Xbcx3KQE
>>151
おいおい、Matzをもって
> ギークって程じゃないと言う印象。
とは、本気か?おまえどんだけえらそうなの。

>>153
> Ruby作った人でも技術力が高くないといわれた
だれじゃ、そんなこと言ったのは。
初歩的なインタプリタは学生でも作れるけど、rubyぐらい完成度の高いのは無理だろ。
2017/05/14(日) 23:29:39.07ID:Xbcx3KQE
>>154
そりゃ仕様をまるごとパクって作れば短期間で作れるでしょ。理由がおかしい。
整合性のとれた言語仕様を考えるところがいちばん大変だろうに。

>>155
> 動かすだけなら意外と全然難しくないよ
だからといってrubyの作者がギークって程じゃないとは、ここはすごいプログラマの集まりですね。
2017/05/14(日) 23:44:43.80ID:SkVs727u
あらゆる分野においてエキスパートじゃないと技術があるとは言えない、と本気で思い込んでる
人がちらほらいるようで

そんなウルトラスーパーハカーなんて世界に何人いることやら
2017/05/14(日) 23:57:58.99ID:4upkAWVg
これでも貼ってみるか
マツドサイエンティスト・研究日誌 保存版 システムエンジニアリング(その4) 超人にならなくていい
ttp://anoda.web.fc2.com/weblog/20050424.html
日本は完璧主義だからか平気で完璧超人を求めるよね
2017/05/14(日) 23:58:21.34ID:aG/BUJsi
多分「完成度」の基準がみんなバラバラすぎて上手くコミュニケーションが取れてないな
Brainfuck系言語というか、いわゆる難解プログラミング言語みたいなジョークみたいな物だったら
確かに「実装」は簡単
が、Ruby、PHP、Pythoみたいに一つの主要言語にまで昇華させるには
言語設計まで含めてめちゃくちゃ大変な作業が必要になる

なので
Rubyっぽい、プログラム言語っぽく動く何かを作る→頑張れば出来る
RubyやPythonの設計思想を受け継ぎながら、独自の言語設計に基づいて言語を作る→並大抵の人間には出来ない代物
っていう感じかな「
2017/05/15(月) 00:04:17.64ID:6XCGPePS
>>158
だれだったか忘れましたが、ツイッターでだれか言ってました。
有名人?なのかな、それなりに有名っぽい人だったので、技術力の高い低いってどういう基準で判断するのかなと思って。
2017/05/15(月) 08:25:41.29ID:AFguA/nP
だからだれなんだよそんな偉そうなのは
2017/05/15(月) 09:26:37.14ID:jzzH2kBs
RubyはMatzが数学苦手なのが良かった
結果、平均的なPGの頭に合った言語になった
頭の良すぎる人が作った言語は結局一部の人間のオナニーで終わっちゃう
FortranとかCとかJavaとかC#とかは頭の良い人たちが本気でボリューム層向けに作った完璧な「製品」だけど、
そういうのに比べるとRubyはまあ適度な頭の緩さが馴染みやすいよね
2017/05/15(月) 21:51:39.50ID:xoO/l6gC
>>164
誰っていわれても、ツイッターでみかけただけでどこのだれかまでは覚えてないです。
ごめんね。
たくさんのひとがリツイしてたから、自分で探したら出てくるかもよ。
2017/05/17(水) 01:45:08.88ID:y0sg8W2t
それいいな。俺も困った時に使ってみよう
たくさんのひとがリツイしてたから、自分で探したら出てくるかもよ。
168デフォルトの名無しさん
垢版 |
2017/05/17(水) 04:25:58.23ID:Q6ZDgQU6
うーん、あまりにも初心者過ぎてあれなんだが、プログラミングを学び始めて
まずrubyを真面目にやろうと思ったんだ。他の言語もさわりはしたんだけどね。
でも、実際に環境を構築しようとrubyをインストールして、
環境変数のPathの設定も本の通りに確認したんだけど
実際に打つと#とかで内部コマンド〜ファイルとして認識されていませんって
出るんよ、 Pathって打ってみるときちんとCドライブのRubyのbinを
参照?してるんだけど・・・私はどこを間違えているんだろう。
169デフォルトの名無しさん
垢版 |
2017/05/17(水) 05:58:15.48ID:AoGXWMN0
>>168
答えじゃなくてすまんけど感想を。
そういうことを聞ける場所が2chしかないのが残念だよね
Rubyを始める人のコミュニティってないものか
ずっとそういう場所を探している
170デフォルトの名無しさん
垢版 |
2017/05/17(水) 06:20:15.54ID:Q6ZDgQU6
>>169
そですねー、私もまずコミュニティ的なものを探したんですけど
勉強会みたいなのはあるのに、こういった掲示板的なものは
みつけられないんですよね。初心者はわりかしきついですね。
相変わらず四苦八苦してますw
2chはマイナーなものは、あまり素人は歓迎されない気もしますね。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況