プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 62
https://mevius.5ch.net/test/read.cgi/tech/1511451329/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
Ruby 初心者スレッド Part 63
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/04/17(火) 17:46:57.87ID:GYuBFjQi798デフォルトの名無しさん
2018/08/20(月) 15:30:49.82ID:1nsldRzy とにかく、初心者はプログラムを間違えるものなんだよ
一発で動くことは先ずない
それならコンパイルの時点でよりたくさんのエラーを検出してくれた方が学習が捗るだろ?
初心者にRubyなんか薦めるなって事だ
その人を蹴落としたいなら別だが
一発で動くことは先ずない
それならコンパイルの時点でよりたくさんのエラーを検出してくれた方が学習が捗るだろ?
初心者にRubyなんか薦めるなって事だ
その人を蹴落としたいなら別だが
799デフォルトの名無しさん
2018/08/20(月) 16:35:54.31ID:fD9Nu4LZ REPLにコンバイルもくそもねえだろ
800デフォルトの名無しさん
2018/08/20(月) 16:37:08.70ID:cqDBbZn3 まず多少なりとも動いてくれたほうが楽しいので学習が捗りました(経験談
801デフォルトの名無しさん
2018/08/20(月) 16:43:09.37ID:GIvuOFoC >>799
重要なのはプログラム実行前ってことだよ
静的とも言う。
実行した後はいろんな状態があり得るが
実行前というのは状態は一つだ。
つまりいろんな状態にしなければわからないというのは
問題を発見するまでに果てしなく時間がかかるということ
だからなるべく実行前にわかるようにするのが良い
重要なのはプログラム実行前ってことだよ
静的とも言う。
実行した後はいろんな状態があり得るが
実行前というのは状態は一つだ。
つまりいろんな状態にしなければわからないというのは
問題を発見するまでに果てしなく時間がかかるということ
だからなるべく実行前にわかるようにするのが良い
802デフォルトの名無しさん
2018/08/20(月) 16:47:09.67ID:fD9Nu4LZ いやeval getsするだけで可能性は可算無限でしょ
eval gets
p A
# input
A = 'hoge'
とかどうすんのよ
eval gets
p A
# input
A = 'hoge'
とかどうすんのよ
803デフォルトの名無しさん
2018/08/20(月) 17:27:42.07ID:dpL1lU0R804デフォルトの名無しさん
2018/08/20(月) 17:45:25.99ID:GIvuOFoC >>803
Smalltalkのコンパイルっていつやるの?
Smalltalkのコンパイルっていつやるの?
805デフォルトの名無しさん
2018/08/20(月) 17:46:25.89ID:GIvuOFoC プログラム実行前って言ってるのに理解してなさそうw
806デフォルトの名無しさん
2018/08/20(月) 18:09:19.60ID:1nsldRzy 何だったらコンパイル時どころか
最近のエディタだったら書いてる途中でリアルタイムで文法チェックするからな
間違ってたら波線とか出る
そういう状況なので、なるたけ多くのことが静的にわかったほうが良いんだよ
実行時にエラーにするなら馬鹿にでもできる!!って思うし
やってみてダメでしたってな、バカっぽいでしょ
事前に分かるから賢い
最近のエディタだったら書いてる途中でリアルタイムで文法チェックするからな
間違ってたら波線とか出る
そういう状況なので、なるたけ多くのことが静的にわかったほうが良いんだよ
実行時にエラーにするなら馬鹿にでもできる!!って思うし
やってみてダメでしたってな、バカっぽいでしょ
事前に分かるから賢い
807デフォルトの名無しさん
2018/08/20(月) 18:38:05.12ID:NYBtZzEL >>804
メソッドを書き終わった後(accept、つまりコンパイル指示を出したとき)だよwwww
メソッドを書き終わった後(accept、つまりコンパイル指示を出したとき)だよwwww
808デフォルトの名無しさん
2018/08/20(月) 18:44:32.10ID:GIvuOFoC809デフォルトの名無しさん
2018/08/20(月) 18:50:47.34ID:fD9Nu4LZ このスレって質問者をほっぽりだして変なのがしゃしゃり出てくること度々あるよな
810デフォルトの名無しさん
2018/08/20(月) 19:32:53.62ID:NYBtZzEL >>808
IDEでJavaソースコンパイルするときjavacもIDEも動いてないっての?wwww
IDEでJavaソースコンパイルするときjavacもIDEも動いてないっての?wwww
811デフォルトの名無しさん
2018/08/20(月) 20:37:42.02ID:GIvuOFoC812デフォルトの名無しさん
2018/08/20(月) 20:43:46.47ID:NYBtZzEL814デフォルトの名無しさん
2018/08/20(月) 20:56:45.04ID:GIvuOFoC ローカル変数だけだったりしてねw
近くの情報は周辺を見ればいいだけだから問題はすぐに分かるんですよ。
遠くの情報、例えばインターフェースが一致しているかどうかが
わからないと使い物になりませんね
人間がやると大変なものこそコンピュータにやらせないと
近くの情報は周辺を見ればいいだけだから問題はすぐに分かるんですよ。
遠くの情報、例えばインターフェースが一致しているかどうかが
わからないと使い物になりませんね
人間がやると大変なものこそコンピュータにやらせないと
815デフォルトの名無しさん
2018/08/20(月) 21:35:34.32ID:1nsldRzy なんで静的型の後追いみたいなことで苦労してるんだろうね
初めから静的型言語使えばよいだけなのにね
怠惰を求めて勤勉に行き着くってやつなのかね
動的型全体がそうだよね
処理系書いてる連中も、言語使ってる連中も
楽しようとして最終的に苦労する
なにこれコワイ
初めから静的型言語使えばよいだけなのにね
怠惰を求めて勤勉に行き着くってやつなのかね
動的型全体がそうだよね
処理系書いてる連中も、言語使ってる連中も
楽しようとして最終的に苦労する
なにこれコワイ
816デフォルトの名無しさん
2018/08/20(月) 21:43:42.44ID:NYBtZzEL >>813
構文木にできれば(ローカルに限らず)未宣言の変数だとか未知のメソッド呼び出しだとか程度なら
簡単に分かる
Lispみたいに構文も単純なら構文ミスも指摘して修正候補を提示することも可能(例:InterlispとかのDWIM)
構文木にできれば(ローカルに限らず)未宣言の変数だとか未知のメソッド呼び出しだとか程度なら
簡単に分かる
Lispみたいに構文も単純なら構文ミスも指摘して修正候補を提示することも可能(例:InterlispとかのDWIM)
818デフォルトの名無しさん
2018/08/20(月) 22:15:42.75ID:NYBtZzEL820デフォルトの名無しさん
2018/08/20(月) 22:29:16.58ID:1nsldRzy そんなの珍しくないよ
JavaScriptとかな
変数宣言には二つの役割があって、一つは型を宣言することだけど
もうひとつスコープを宣言するって役割もある
だから動的型言語でも素直なレキシカルスコープが欲しければ変数宣言があってもよい
一方で変数への最初の代入を変数宣言の代わりにする言語は
だいたいスコープがバグってる
ただの変数への代入か、新たな変数を宣言したのか、区別がつかないからなwww
それでnonlocalだの@だの、ダサいだろ?
ま、そういうわけで、やっぱり変数宣言は有ったほうが良いし
どうせ変数宣言するなら型を書いても良い気がするし
動的型言語が衰退するのは当たり前だったわ
なんせ、ありとあらゆるスジが悪いんだよ
JavaScriptとかな
変数宣言には二つの役割があって、一つは型を宣言することだけど
もうひとつスコープを宣言するって役割もある
だから動的型言語でも素直なレキシカルスコープが欲しければ変数宣言があってもよい
一方で変数への最初の代入を変数宣言の代わりにする言語は
だいたいスコープがバグってる
ただの変数への代入か、新たな変数を宣言したのか、区別がつかないからなwww
それでnonlocalだの@だの、ダサいだろ?
ま、そういうわけで、やっぱり変数宣言は有ったほうが良いし
どうせ変数宣言するなら型を書いても良い気がするし
動的型言語が衰退するのは当たり前だったわ
なんせ、ありとあらゆるスジが悪いんだよ
821デフォルトの名無しさん
2018/08/20(月) 22:30:09.56ID:K5IFIEIw >>819
Rubyのメソッドの仮引数やブロック変数は宣言でないと?
Rubyのメソッドの仮引数やブロック変数は宣言でないと?
>>821
def f(xyz)
"Hello, #{abc}!"
end
というメソッド定義があって
本当なら変数として xyz のところを間違えて abc と書いてしまった
というシチュエーションでも、エラーがでないでしょう?
def f(xyz)
"Hello, #{abc}!"
end
というメソッド定義があって
本当なら変数として xyz のところを間違えて abc と書いてしまった
というシチュエーションでも、エラーがでないでしょう?
823デフォルトの名無しさん
2018/08/20(月) 22:52:22.44ID:KNimMRpP >>823
「宣言を課す」というのは「宣言をしていない変数は変数として認識しない」という意味なのでは?
「宣言を課す」というのは「宣言をしていない変数は変数として認識しない」という意味なのでは?
825デフォルトの名無しさん
2018/08/20(月) 23:22:30.48ID:At189hOD ◆QZaw55cn4cは会話が成り立たないからスルーしろ
826デフォルトの名無しさん
2018/08/20(月) 23:23:22.96ID:At189hOD ついでに長文ガイジもNGつっこんどけ
827デフォルトの名無しさん
2018/08/20(月) 23:55:25.50ID:PXXr8Lzz >>824
Rubyはそうしていないというだけで、コンパイル時に
abcが未代入(代入操作で宣言を兼ねるRubyでは未宣言にあたる)である事実や
あるいはメソッドとして未定義である事実をもってxyzとすべき記述のミスでは?との判断を下し
そうであれば修正を促すことは可能だろう?
予め釘を刺しておくけど、ミスの可能性があることとコンパイル可能であることとはまた別の話だからな!
Rubyはそうしていないというだけで、コンパイル時に
abcが未代入(代入操作で宣言を兼ねるRubyでは未宣言にあたる)である事実や
あるいはメソッドとして未定義である事実をもってxyzとすべき記述のミスでは?との判断を下し
そうであれば修正を促すことは可能だろう?
予め釘を刺しておくけど、ミスの可能性があることとコンパイル可能であることとはまた別の話だからな!
828デフォルトの名無しさん
2018/08/21(火) 00:12:58.46ID:TQPukUfs829デフォルトの名無しさん
2018/08/21(火) 00:21:47.25ID:kxzeRRBS JavaScript では、var の有無で、皆ハマった。
だから、ES2015(ES6) で、let, const を作って、ブロックスコープも作った
this の挙動もおかしい。
だから、Haxe のthisは、常にインスタンスを指すように変えられた
Python でも、nonlocal とか、頭おかしいw
Ruby では、関数スコープ・ブロックスコープの2つがあるから、バグりにくい
a = 1
def f
puts a # ここで、未定義の変数を参照してエラー
puts a = 2
end
f()
だから、ES2015(ES6) で、let, const を作って、ブロックスコープも作った
this の挙動もおかしい。
だから、Haxe のthisは、常にインスタンスを指すように変えられた
Python でも、nonlocal とか、頭おかしいw
Ruby では、関数スコープ・ブロックスコープの2つがあるから、バグりにくい
a = 1
def f
puts a # ここで、未定義の変数を参照してエラー
puts a = 2
end
f()
831デフォルトの名無しさん
2018/08/21(火) 01:41:26.90ID:WMlArXdo832デフォルトの名無しさん
2018/08/21(火) 01:47:26.07ID:kxzeRRBS メタプログラミング Ruby 第2版、2015
で紹介している、Module#define_method(), method_missing() とかだろ?
で紹介している、Module#define_method(), method_missing() とかだろ?
833デフォルトの名無しさん
2018/08/21(火) 04:51:25.59ID:kxzeRRBS picture_url = "https://pbs.twimg.com/media/DlCjEV6V4AUM9Kl.jpg:orig#jpg"
uri = URI.parse picture_url
file_name = File.basename(uri.path) # ファイル名
file_extname = File.extname(file_name) # 拡張子
後ろに「:orig#jpg」が付いていても、ファイル名が正確に抜き出せる!
DlCjEV6V4AUM9Kl.jpg
uri = URI.parse picture_url
file_name = File.basename(uri.path) # ファイル名
file_extname = File.extname(file_name) # 拡張子
後ろに「:orig#jpg」が付いていても、ファイル名が正確に抜き出せる!
DlCjEV6V4AUM9Kl.jpg
834デフォルトの名無しさん
2018/08/21(火) 05:11:45.98ID:dhW5/kUC >>833
バグじゃんそれ
バグじゃんそれ
835デフォルトの名無しさん
2018/08/21(火) 05:20:08.29ID:dhW5/kUC >>831
そうそう。だからRubyじゃコンパイル時にわからないんだよ。
例えば以下のように、一行目にexitしてしまえば
その下にいくら変なコードがってもコンパイル時にチェックなんかできない
exit
aaa = 1312
class Hoge
def hoge
end
end
h = Hoge.new
h.hage
i = IIII.new
言い換えると、動的言語ではファイル単位でしかコードを見てないので
少なくともファイル外にある情報はわからない
検出できるのは文法エラーぐらいだよ
残念なことにね。それが現実。
そうそう。だからRubyじゃコンパイル時にわからないんだよ。
例えば以下のように、一行目にexitしてしまえば
その下にいくら変なコードがってもコンパイル時にチェックなんかできない
exit
aaa = 1312
class Hoge
def hoge
end
end
h = Hoge.new
h.hage
i = IIII.new
言い換えると、動的言語ではファイル単位でしかコードを見てないので
少なくともファイル外にある情報はわからない
検出できるのは文法エラーぐらいだよ
残念なことにね。それが現実。
836デフォルトの名無しさん
2018/08/21(火) 07:09:45.22ID:9qt5lkVf だからさぁRubyが駄目ってとこを動的型言語の限界だと一般化しないでくれ
話がまったく噛み合わない
話がまったく噛み合わない
837デフォルトの名無しさん
2018/08/21(火) 07:32:38.20ID:9qt5lkVf838デフォルトの名無しさん
2018/08/21(火) 07:35:37.03ID:Y1HyydAv ケンカはやめて
839デフォルトの名無しさん
2018/08/21(火) 07:40:39.17ID:9qt5lkVf840デフォルトの名無しさん
2018/08/21(火) 08:20:58.17ID:dhW5/kUC まああれだ、Smalltakerさんがちゃんとコードで説明してくれればいい
ここでオンラインでSmalltalkを実行できる
https://www.tutorialspoint.com/execute_smalltalk_online.php
ここに
Transcript show: 'Hello, world!'.
Transcript show: 4 sqrt printString.
と書くと、「Hello, world!2.0」と表示される
ここに
Transcript show: 'Hello, world!'.
Transcript show: 4 sqrtaaa printString.
と書くと、「Hello, world!」と表示されてから
エラーが表示される。
コンパイル時にチェックが行われるというのなら4という数字に
sqrtaaaというメソッドはないから実行時前にエラーを検出できるはずだ
そうならないので、未定義メソッドの検出はできない。
反論はコードでどうぞ
ここでオンラインでSmalltalkを実行できる
https://www.tutorialspoint.com/execute_smalltalk_online.php
ここに
Transcript show: 'Hello, world!'.
Transcript show: 4 sqrt printString.
と書くと、「Hello, world!2.0」と表示される
ここに
Transcript show: 'Hello, world!'.
Transcript show: 4 sqrtaaa printString.
と書くと、「Hello, world!」と表示されてから
エラーが表示される。
コンパイル時にチェックが行われるというのなら4という数字に
sqrtaaaというメソッドはないから実行時前にエラーを検出できるはずだ
そうならないので、未定義メソッドの検出はできない。
反論はコードでどうぞ
841デフォルトの名無しさん
2018/08/21(火) 12:22:18.03ID:tnY8+vhG ここにMatz呼べば全て解決じゃん
どうせ見てると思うぞ
どうせ見てると思うぞ
842デフォルトの名無しさん
2018/08/21(火) 12:52:50.65ID:eDZ5kOgA >>840
Smalltalkの“confirm, correct, or cancel”を試したいならこれはIDEを前提とした機構なので
GNU SmalltalkのようにUNIXとの連携を重視したCUI前提の変わり種のSmalltalkには実装されておらず使えません
またPharoのように今風のシンタックスハイライトのついでに色で警告する方式がデフォになった処理系でも抑制されています
“confirm, correct, or cancel”が動く様子やその仕組みを検証したいのであればVisualWorksかSqueakあたりがよいでしょうね
SqueakならSqueakJSというWebブラウザで動作する処理系があり、これならすぐに動かせるのでお薦めです
今回のような古くからの機構に興味があるのなら DEMOS の Mini で起動できる Mini Squeak 2.2 あたりが軽くてよいのではないでしょうか
(ワークスペース変数導入後、変数名のミススペルチェックはワークスペースでは機能しないためこの点でも今回の検証には古い方がよいでしょう)
https://squeak.js.org/
起動後まずデスクトップクリック→open...→transcriptでトランスクリプトウインドウを呼び出しておき、それから
どこでもよいので(Welcome to Mini Squeak 2.2 の適当な場所でも、open...→workspaceで新しいワークスペースを開いてもOK)
Transcript cr; show: 'Hello, world!'.
Transcript cr; show: 4 sqrt printString
とタイプして入力後、2行ともドラッグして選択してから右クリック(あるいは左手のスクロールバーとの境界にポインタを合わせて左クリック)
→do it (d) で>>840のコード(cr; は出力を見やすくするために入れました^^;)が動かせます
sqrtaaaに変えて再びdo itすれば、Hello, world!と表示される*前*に“confirm, correct, or cancel”と促されるはずです
関連してLispのDWIM(これも実行前の静的時チェック)はInterlispのマニュアル第15章で取り上げられていますので参考まで
https://archive.org/stream/bitsavers_xeroxinternceManualOct1983_52302609?ui=embed#page/n389
>>796
> 70年代のLispにすらあったDWIM
同書にもあるとおりDWIMは1960年代からです
“DWIM, the Do-What-I-Mean error correction facility, was introduced into this system in 1968 by Warren Teitelman”
Smalltalkの“confirm, correct, or cancel”を試したいならこれはIDEを前提とした機構なので
GNU SmalltalkのようにUNIXとの連携を重視したCUI前提の変わり種のSmalltalkには実装されておらず使えません
またPharoのように今風のシンタックスハイライトのついでに色で警告する方式がデフォになった処理系でも抑制されています
“confirm, correct, or cancel”が動く様子やその仕組みを検証したいのであればVisualWorksかSqueakあたりがよいでしょうね
SqueakならSqueakJSというWebブラウザで動作する処理系があり、これならすぐに動かせるのでお薦めです
今回のような古くからの機構に興味があるのなら DEMOS の Mini で起動できる Mini Squeak 2.2 あたりが軽くてよいのではないでしょうか
(ワークスペース変数導入後、変数名のミススペルチェックはワークスペースでは機能しないためこの点でも今回の検証には古い方がよいでしょう)
https://squeak.js.org/
起動後まずデスクトップクリック→open...→transcriptでトランスクリプトウインドウを呼び出しておき、それから
どこでもよいので(Welcome to Mini Squeak 2.2 の適当な場所でも、open...→workspaceで新しいワークスペースを開いてもOK)
Transcript cr; show: 'Hello, world!'.
Transcript cr; show: 4 sqrt printString
とタイプして入力後、2行ともドラッグして選択してから右クリック(あるいは左手のスクロールバーとの境界にポインタを合わせて左クリック)
→do it (d) で>>840のコード(cr; は出力を見やすくするために入れました^^;)が動かせます
sqrtaaaに変えて再びdo itすれば、Hello, world!と表示される*前*に“confirm, correct, or cancel”と促されるはずです
関連してLispのDWIM(これも実行前の静的時チェック)はInterlispのマニュアル第15章で取り上げられていますので参考まで
https://archive.org/stream/bitsavers_xeroxinternceManualOct1983_52302609?ui=embed#page/n389
>>796
> 70年代のLispにすらあったDWIM
同書にもあるとおりDWIMは1960年代からです
“DWIM, the Do-What-I-Mean error correction facility, was introduced into this system in 1968 by Warren Teitelman”
843デフォルトの名無しさん
2018/08/21(火) 12:54:39.77ID:qWx5Zods >>809
どこにでもいる
どこにでもいる
844デフォルトの名無しさん
2018/08/21(火) 12:59:22.19ID:OZUNGsZn 「いまさらRuby」
「Rubyで学ぶ機械学習」
あたりを誰か書いてよ
「Rubyで学ぶ機械学習」
あたりを誰か書いてよ
845デフォルトの名無しさん
2018/08/21(火) 13:05:22.31ID:qWx5Zods 「間違ってRubyを始めてしまった人へ贈るPython入門」
もいいな
もいいな
846デフォルトの名無しさん
2018/08/21(火) 18:59:29.56ID:WMlArXdo Pythonは、試してみたい気持ちもあるものの、よろしくないところもいくらか知ってるので、微妙なんだよなー。
そういえば、ボスが引退するそうだが、なにか変わんのかねえ。
そういえば、ボスが引退するそうだが、なにか変わんのかねえ。
>>839
個人的には ruby を改良しようといろいろ画策しています、宣言付き ruby とか
動的型付け言語にて変数宣言を導入すればずいぶんと使い勝手も変わるだろうと想像しています
そういう視点でおねがいします
個人的には ruby を改良しようといろいろ画策しています、宣言付き ruby とか
動的型付け言語にて変数宣言を導入すればずいぶんと使い勝手も変わるだろうと想像しています
そういう視点でおねがいします
848デフォルトの名無しさん
2018/08/21(火) 19:17:47.11ID:2YpoFUMY 画策wwwwww
それでプルリクでもしてこいよwwwwwww
それでプルリクでもしてこいよwwwwwww
849デフォルトの名無しさん
2018/08/21(火) 20:58:28.00ID:zx3sEUVJ >>847
Rubyは変数宣言を省略したことが原因の仕様がらみのトラブルが少なくない
そんな犠牲をはらっても(型も含め)宣言を書かせないことがMatzの優先事項の上位にあるわけ
キミの「改良」案は何を今更だしそもそもMatzや取り巻きが耳を貸す可能性はゼロだろうね
Rubyは変数宣言を省略したことが原因の仕様がらみのトラブルが少なくない
そんな犠牲をはらっても(型も含め)宣言を書かせないことがMatzの優先事項の上位にあるわけ
キミの「改良」案は何を今更だしそもそもMatzや取り巻きが耳を貸す可能性はゼロだろうね
850デフォルトの名無しさん
2018/08/21(火) 21:02:49.75ID:PnXfa+5/ 例えばどんなトラブル?
851デフォルトの名無しさん
2018/08/21(火) 22:37:38.64ID:WMlArXdo >>850
スコープ
スコープ
852デフォルトの名無しさん
2018/08/22(水) 00:20:47.79ID:h82tfzI1 結局、言語を改良していくと、Haxe になる
マルチ言語・マルチプラットフォーム、
this の挙動を変えて、型推論・パターンマッチ・引数付き列挙
Ruby は、JS, Python などど違って、関数スコープ・ブロックスコープがあって、
関数スコープは強固だから、変数を内側へ通さない
だから変数宣言が無くても、バグらない
ES2015(ES6)でも、ブロックスコープが採用された。
変数宣言も、以前からのvar に加えて、const, let も作られた
マルチ言語・マルチプラットフォーム、
this の挙動を変えて、型推論・パターンマッチ・引数付き列挙
Ruby は、JS, Python などど違って、関数スコープ・ブロックスコープがあって、
関数スコープは強固だから、変数を内側へ通さない
だから変数宣言が無くても、バグらない
ES2015(ES6)でも、ブロックスコープが採用された。
変数宣言も、以前からのvar に加えて、const, let も作られた
853デフォルトの名無しさん
2018/08/22(水) 05:07:26.61ID:O2PM/1qE >>852
なんで関数スコープとかいう小さい話してるんだ?
小さいものであれば、少し頑張れば対応可能なのは
わかってるんだよ。もっと広い範囲、オブジェクト間の通信とか
プロジェクト全体のレベルでバグが発生するから型がいるんだよ
なんで関数スコープとかいう小さい話してるんだ?
小さいものであれば、少し頑張れば対応可能なのは
わかってるんだよ。もっと広い範囲、オブジェクト間の通信とか
プロジェクト全体のレベルでバグが発生するから型がいるんだよ
854デフォルトの名無しさん
2018/08/22(水) 07:57:35.69ID:g+4f8QiO855デフォルトの名無しさん
2018/08/23(木) 11:48:39.81ID:muib0HF0 反論はコードで(キリッ
856デフォルトの名無しさん
2018/08/23(木) 11:58:19.26ID:ncZgpeak >>855
だからコード出せって
だからコード出せって
857デフォルトの名無しさん
2018/08/23(木) 12:08:41.61ID:29gBK1aD 言い出しっぺの法則
858デフォルトの名無しさん
2018/08/23(木) 13:27:22.00ID:muib0HF0 >>856
何のコード?
何のコード?
859デフォルトの名無しさん
2018/08/26(日) 01:12:35.83ID:iN7pYJOp undef式ってどういうときに使うの?
860デフォルトの名無しさん
2018/08/26(日) 10:37:18.06ID:0HcSjLFv 教えてください!
[パーフェクトRuby]と[プロを目指す人のためのRuby入門 ]はどちらがオススメですか?
当方3ステップ本を学習中、仕事でRubyを使えるようになりたいと思っています。
よろしくお願いします!!
[パーフェクトRuby]と[プロを目指す人のためのRuby入門 ]はどちらがオススメですか?
当方3ステップ本を学習中、仕事でRubyを使えるようになりたいと思っています。
よろしくお願いします!!
861デフォルトの名無しさん
2018/08/26(日) 12:09:12.86ID:mLZLsxB6 >>860
仕事でRubyやりたいならRails以外の選択肢はないからいきなりRailsやるのがいいよ
Rails DSLは別言語なレベルにまでカスタマイズされてるから、最初に素のRubyをやるとかえって混乱するのでお勧めできない
あとはLinux使ったWebサイト運用構築のインフラ本を一冊と、AWSの本一冊かな
WebやるわけじゃないんならPythonで勝ち馬に乗ろう
仕事でRubyやりたいならRails以外の選択肢はないからいきなりRailsやるのがいいよ
Rails DSLは別言語なレベルにまでカスタマイズされてるから、最初に素のRubyをやるとかえって混乱するのでお勧めできない
あとはLinux使ったWebサイト運用構築のインフラ本を一冊と、AWSの本一冊かな
WebやるわけじゃないんならPythonで勝ち馬に乗ろう
862デフォルトの名無しさん
2018/08/26(日) 12:46:28.68ID:w0D5YFHr この順番で読む。
Rails は、無料のRails チュートリアルをやってもよい。
Rails の前に、Sinatra をいじくりまわすのも良い
たのしいRuby 第5版、2016
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、
間違いやすいポイントを解説
改訂2版 パーフェクトRuby、Rubyサポーターズ、2017
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014
パーフェクト Ruby on Rails、2014
動作環境、Rails 4.0.5, 4.1.1
Rails は、無料のRails チュートリアルをやってもよい。
Rails の前に、Sinatra をいじくりまわすのも良い
たのしいRuby 第5版、2016
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、
間違いやすいポイントを解説
改訂2版 パーフェクトRuby、Rubyサポーターズ、2017
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014
パーフェクト Ruby on Rails、2014
動作環境、Rails 4.0.5, 4.1.1
863デフォルトの名無しさん
2018/08/26(日) 13:00:08.38ID:2ZbuD4Bs >>859
いらなくなったとき
いらなくなったとき
864デフォルトの名無しさん
2018/08/26(日) 18:33:30.03ID:kjnpmDtT >>860
>[パーフェクトRuby]と[プロを目指す人のためのRuby入門 ]はどちらがオススメですか?
どちらもオススメだけど、難易度であれば [プロ] よりも [パーフェ] のほうが高い
[パーフェ] は幅広く高度な話題を扱うプロ必読の本だけど、
説明もプロ向けで簡潔だから初心者では読んでも意味不明な魔術書と感じるかもしれない
それに対して、[プロ] は話題を厳選して丁寧に分かり易く解説している印象を持った
だから初心者へのオススメコースであれば以下の順序になる:
・たのしいRuby
・プロを目指す人のためのRuby入門
・パーフェクトRuby
>[パーフェクトRuby]と[プロを目指す人のためのRuby入門 ]はどちらがオススメですか?
どちらもオススメだけど、難易度であれば [プロ] よりも [パーフェ] のほうが高い
[パーフェ] は幅広く高度な話題を扱うプロ必読の本だけど、
説明もプロ向けで簡潔だから初心者では読んでも意味不明な魔術書と感じるかもしれない
それに対して、[プロ] は話題を厳選して丁寧に分かり易く解説している印象を持った
だから初心者へのオススメコースであれば以下の順序になる:
・たのしいRuby
・プロを目指す人のためのRuby入門
・パーフェクトRuby
865デフォルトの名無しさん
2018/08/26(日) 18:47:00.00ID:kjnpmDtT >>861
>仕事でRubyやりたいならRails以外の選択肢はないからいきなりRailsやるのがいいよ
質問者は「Webをやりたい」と希望しているわけでもないのに
ナゼかRailsを勧める話が噛み合わない返答、日本語が不自由な人ですか?
>Rails DSLは別言語なレベルにまでカスタマイズされてるから、
>最初に素のRubyをやるとかえって混乱するのでお勧めできない
つまり:
Pythonは手続き型プログラミングに特化して設計された言語だから、
>>861のようなPythonプログラマには、手続き型にオブジェクト指向と関数型が融合された
素のRubyをやると混乱した苦い経験が過去にあったのでお勧めできない、
という解釈できますね
>WebやるわけじゃないんならPythonで勝ち
つまり:
トレンディーにセンシティブなナウいヤングメンにはPythonがお勧め
ということですね、たいへんわかりやすいです
>仕事でRubyやりたいならRails以外の選択肢はないからいきなりRailsやるのがいいよ
質問者は「Webをやりたい」と希望しているわけでもないのに
ナゼかRailsを勧める話が噛み合わない返答、日本語が不自由な人ですか?
>Rails DSLは別言語なレベルにまでカスタマイズされてるから、
>最初に素のRubyをやるとかえって混乱するのでお勧めできない
つまり:
Pythonは手続き型プログラミングに特化して設計された言語だから、
>>861のようなPythonプログラマには、手続き型にオブジェクト指向と関数型が融合された
素のRubyをやると混乱した苦い経験が過去にあったのでお勧めできない、
という解釈できますね
>WebやるわけじゃないんならPythonで勝ち
つまり:
トレンディーにセンシティブなナウいヤングメンにはPythonがお勧め
ということですね、たいへんわかりやすいです
866デフォルトの名無しさん
2018/08/26(日) 19:39:05.79ID:clMe+MHZ867デフォルトの名無しさん
2018/08/26(日) 19:40:46.31ID:clMe+MHZ これから言語を初めて学ぶならTypescriptとかのほうがいいと思うけど。
868デフォルトの名無しさん
2018/08/26(日) 19:48:01.06ID:vWItB/Z8 pythonだろjk
869デフォルトの名無しさん
2018/08/26(日) 20:59:33.68ID:B3lkUNKe870デフォルトの名無しさん
2018/08/26(日) 21:18:59.11ID:7cBpPp40871デフォルトの名無しさん
2018/08/26(日) 21:23:56.52ID:vKa62JvF TypeScriptとC#だったら似たようなもんだろ
設計者同じなの知らないのか?
設計者同じなの知らないのか?
872デフォルトの名無しさん
2018/08/26(日) 21:48:43.66ID:SaWTBVer >>871
TypeScriptはJavaScriptに引っ張られる部分がどうしてもあるからね
さすがに似たようなもんではないと思う
JavaScriptの一大メリットである環境整備のしやすさもTypeScriptにはないし
初学者ならRubyは学びやすいと思うしいいと思うよ
たのしい本とかしっかりした書籍もあるしね
TypeScriptはJavaScriptに引っ張られる部分がどうしてもあるからね
さすがに似たようなもんではないと思う
JavaScriptの一大メリットである環境整備のしやすさもTypeScriptにはないし
初学者ならRubyは学びやすいと思うしいいと思うよ
たのしい本とかしっかりした書籍もあるしね
873デフォルトの名無しさん
2018/08/26(日) 23:11:11.23ID:2xrJOS4Z 趣味でやるならRubyは書くの楽しいしお勧めできる
手に職付けるつもりなら全くオススメしないけど
手に職付けるつもりなら全くオススメしないけど
874デフォルトの名無しさん
2018/08/26(日) 23:26:48.25ID:w0D5YFHr 「プロを目指す人のためのRuby入門」の著者・伊藤淳一は、YouTube の動画がよい。
無料のRails チュートリアルをやった人は、彼の動画を見るのもよい
Junichi Ito
Rails 5.1で作るVue.jsアプリケーション 〜Herokuデプロイからシステムテストまで〜
https://youtu.be/ycOeM2umXkY
プロになる人は「Effective Ruby」は読んでおけ。
どの言語でも「Effective 何々」というのは、プロの必須本
無料のRails チュートリアルをやった人は、彼の動画を見るのもよい
Junichi Ito
Rails 5.1で作るVue.jsアプリケーション 〜Herokuデプロイからシステムテストまで〜
https://youtu.be/ycOeM2umXkY
プロになる人は「Effective Ruby」は読んでおけ。
どの言語でも「Effective 何々」というのは、プロの必須本
875デフォルトの名無しさん
2018/08/27(月) 00:26:10.32ID:r5tUtp1V Rubyはそのコード効率の良さからちゃちゃっと書けるのがメリット
試作や使用頻度の低いツールの作成に重宝する
試作や使用頻度の低いツールの作成に重宝する
876デフォルトの名無しさん
2018/08/27(月) 08:02:06.98ID:QAQ5xX6o 試作(笑)
そういやsassも最初はrubyで作られていたが、
遅いって言うんで、C言語で再実装されて
今じゃそっちが主流になったな
そういやsassも最初はrubyで作られていたが、
遅いって言うんで、C言語で再実装されて
今じゃそっちが主流になったな
877デフォルトの名無しさん
2018/08/27(月) 09:17:11.23ID:k1/VmCLx プロトタイピングって言うと耳触りがいい
878デフォルトの名無しさん
2018/08/27(月) 12:19:20.56ID:Fz9xVlti879デフォルトの名無しさん
2018/08/27(月) 12:21:01.46ID:Fz9xVlti880デフォルトの名無しさん
2018/08/27(月) 13:13:32.53ID:0aehZJwm 耳触りが良いって言葉くっそ嫌い
881デフォルトの名無しさん
2018/08/27(月) 13:17:39.90ID:Q4eMB8Ps ばずわーど
882デフォルトの名無しさん
2018/08/27(月) 13:21:26.27ID:f0mEiXXF プロトタイピングって言うと聞こえが良い
883デフォルトの名無しさん
2018/08/27(月) 13:25:09.61ID:97nSTlug Rubyには「やってみた」のほうがお似合い
884デフォルトの名無しさん
2018/08/27(月) 13:27:08.09ID:8Kt1o08C やってみたでいいと思うよ
そこから学んだことを基礎にして別の言語に行くもよし、そのまま使い続けるもよし
そこから学んだことを基礎にして別の言語に行くもよし、そのまま使い続けるもよし
885デフォルトの名無しさん
2018/08/27(月) 17:37:57.10ID:LsIvpBlS >>874
この動画みたけど酷いな…
そもそもvueのソースは全部コピペでなんの説明もない
設定ファイルで何をしているのかゴニョゴニョ言ってるだけですぐ画面移動するしまったくわからん
単に作業やってますよ的なだけだな
初心者には意味不明の動画だよ
この動画みたけど酷いな…
そもそもvueのソースは全部コピペでなんの説明もない
設定ファイルで何をしているのかゴニョゴニョ言ってるだけですぐ画面移動するしまったくわからん
単に作業やってますよ的なだけだな
初心者には意味不明の動画だよ
886デフォルトの名無しさん
2018/08/27(月) 22:24:37.18ID:r5tUtp1V コーダーになりたいのかプログラマになりたいのかによって変わるんじゃね
コーダーならRoR案件をやる以外でRubyを覚えるメリットはあまりないだろう
プログラマだったら複数の言語を操れるのが普通
ソフトウェアエンジニアだったら適材適所で言語を選択できないと
コーダーならRoR案件をやる以外でRubyを覚えるメリットはあまりないだろう
プログラマだったら複数の言語を操れるのが普通
ソフトウェアエンジニアだったら適材適所で言語を選択できないと
887デフォルトの名無しさん
2018/08/28(火) 00:06:26.46ID:zd97Q5KX PHPみたいな存在に収まったな
888デフォルトの名無しさん
2018/08/28(火) 00:22:40.86ID:vBkG5f14 PHPがどんな存在なんだろうな
889デフォルトの名無しさん
2018/08/28(火) 00:23:57.20ID:s+h3X9SG つかれた
ほんとうに
ほんとうに
890874
2018/08/28(火) 00:34:49.08ID:TEJeUOom >>885
Vue.js や、Rails チュートリアルをやった人からすれば、
Rails 5.1で、Vue.jsが動くことが確認できたから、画期的!
たった1人でも、実行できた実績があると、皆が後に続くから、価値がある
新しいものをいじくりまわして動かしてしまう、先駆者!
Vue.js や、Rails チュートリアルをやった人からすれば、
Rails 5.1で、Vue.jsが動くことが確認できたから、画期的!
たった1人でも、実行できた実績があると、皆が後に続くから、価値がある
新しいものをいじくりまわして動かしてしまう、先駆者!
891デフォルトの名無しさん
2018/08/28(火) 04:30:18.33ID:IU+10hhU ◆QZaw55cn4c はまだ荒らし続けてるのか
ほんま懲りないなコイツ
ほんま懲りないなコイツ
892デフォルトの名無しさん
2018/08/28(火) 14:51:47.47ID:fwITIoXO レンタル鯖だと軒並みRubyで組む事になる
いまどき自前で鯖用意して高いコスト払う人っているのか?
いまどき自前で鯖用意して高いコスト払う人っているのか?
893デフォルトの名無しさん
2018/08/28(火) 14:56:24.45ID:vxybgpo1 phpならともかくrubyならなんのかんのでvpsにせざるを得ないだろ。
構築めんどくせぇ…
構築めんどくせぇ…
894デフォルトの名無しさん
2018/08/28(火) 15:06:29.72ID:gFwi/D9L >>890
アホかこいつ
Vue.jsはブラウザ側で独立して動作するライブラリであり、バックエンドのAPIとAjaxで通信する
Vue使うならRailsはそのAPIを提供するだけであり、VueとRailsは直接的には何の関係もない
触れちゃいけない人なのは承知してるがさすがに目に余る
アホかこいつ
Vue.jsはブラウザ側で独立して動作するライブラリであり、バックエンドのAPIとAjaxで通信する
Vue使うならRailsはそのAPIを提供するだけであり、VueとRailsは直接的には何の関係もない
触れちゃいけない人なのは承知してるがさすがに目に余る
895デフォルトの名無しさん
2018/08/28(火) 16:34:41.02ID:6kEMX7h9 P
Hyara
P
Hyara
ぱっぱらぱー
Hyara
P
Hyara
ぱっぱらぱー
896デフォルトの名無しさん
2018/08/28(火) 22:11:45.77ID:5S/Bzcf+ >>893
嘘ついてもすぐバレるんだからアンチスレから出てくるなよ
嘘ついてもすぐバレるんだからアンチスレから出てくるなよ
897デフォルトの名無しさん
2018/08/28(火) 23:47:09.36ID:TEJeUOom chef, vagrant は、Ruby で書かれている。
誰かが作った、レシピを探せば?
DevOps と、コミュニティを利用するのは、まさにRubyにもってこいだろ
誰かが作った、レシピを探せば?
DevOps と、コミュニティを利用するのは、まさにRubyにもってこいだろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
- (´・ω・`)おいそこ。そこの貴様だ。へらへらするな。
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
