Ruby 初心者スレッド Part 62

■ このスレッドは過去ログ倉庫に格納されています
2017/11/24(金) 00:35:29.31ID:rLZHdQ3Q
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 61
https://mevius.5ch.net/test/read.cgi/tech/1503644351/

るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/

Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/

逆引きRuby
http://www.namaraii.com/rubytips/
407デフォルトの名無しさん
垢版 |
2017/12/19(火) 00:35:31.16ID:OxL2RNB7
>>406
Rubyについて(アンチ専用) Part004
https://mevius.5ch.net/test/read.cgi/tech/1249737531/
おまえのスレに帰れ
二度と初心者を騙そうとするな
2017/12/19(火) 00:41:45.22ID:cabpZd/N
出来る出来ないの話じゃないって自分で言い出してからまだ30分も経ってないのに、
出来る出来ないの話に戻したな
これでは誰もアンチを信じてくれないわ
2017/12/19(火) 00:46:31.62ID:si5W7uAD
動的言語がなぜリファクタリングに弱いかというと
いつクラスの定義が定まるかを考えてみればわかる

まずリファクタリングというのはソースコードを修正する
そしてクラスの定義はソースコードから生成される

この時、ソースコードからクラスの定義が単純に決まれば良いのだが
動的言語では、実行するまでクラスの定義が決まらない

ならば実行すればいいと思うかもしれないが、何をどう実行すれば
クラスの定義が定まるのかを知る方法がない

つまりクラスをリファクタリングする場合、
クラスの完成形を知ることができないので、
人間が判断するしかなくなってしまい時間がかかる
410デフォルトの名無しさん
垢版 |
2017/12/19(火) 00:47:31.81ID:OxL2RNB7
>>409
長文はいいから自分のスレへ帰れ
ここはおまえの日記帳じゃない
2017/12/19(火) 00:48:21.71ID:si5W7uAD
>>408
> 出来る出来ないの話に戻したな
いつ俺が出来る出来ないの話に戻した?

実際にRubyMineを使っている人が、
出来ないって言ってるって話?
412デフォルトの名無しさん
垢版 |
2017/12/19(火) 00:49:30.71ID:OxL2RNB7
>>411
アンチが初心者スレで暴れるなら
2017/12/19(火) 00:49:36.49ID:si5W7uAD
>>410
> ここはおまえの日記帳じゃない

そりゃ俺の日記帳じゃないよw
みんなの日記帳だよ

便所の落書きなんていい方もされているが
俺はその言い方は好きではない
2017/12/19(火) 00:51:32.45ID:cabpZd/N
https://mevius.5ch.net/test/read.cgi/tech/1249737531/
アンチはアンチ専用スレでやれ
2017/12/19(火) 00:57:25.70ID:UYOJvaLF
単発IDで自演しまくる自治厨騙りの荒らしには構うな
スルーしろ
2017/12/19(火) 00:58:50.33ID:cabpZd/N
自演がばれてんぞ
2017/12/19(火) 00:59:26.95ID:si5W7uAD
単発IDお前やんw
2017/12/19(火) 01:01:02.38ID:cabpZd/N
アンチスレで好きなだけやれ
ここはお前のようなアンチのためのスレではない
2017/12/19(火) 01:02:55.81ID:7WjlvYND
そろそろうざいからアンチはアンチスレへ帰れ
2017/12/19(火) 01:03:46.23ID:si5W7uAD
単発ID、自演ばれてるで?w
2017/12/19(火) 01:05:19.68ID:cabpZd/N
見えない敵と闘っていないでアンチスレへ帰れ
そこなら好きなだけ自演しても誰も文句を言わないから
2017/12/19(火) 01:06:10.31ID:si5W7uAD
はっきり言わないと理解できないのかな?
俺はアンチスレには行きません
何度言われてもね
2017/12/19(火) 01:09:10.98ID:cabpZd/N
アンチやりたいならアンチスレへ行け
ここは初心者のためのスレだ

初心者を騙すためのスレではない
2017/12/19(火) 01:10:01.09ID:si5W7uAD
神様「お前の願いは叶えられることはなかった」
2017/12/19(火) 01:11:14.38ID:7WjlvYND
そもそもなんでアンチは発狂してんの?
顔真っ赤にしてないで落ち着けよ
2017/12/19(火) 01:12:07.22ID:si5W7uAD
発狂はしてないよw
面白いから書き込んでる
2017/12/19(火) 01:12:28.45ID:cabpZd/N
そんなに初心者スレで荒らし行為やアンチをやりたいのか?
2017/12/19(火) 01:14:15.45ID:si5W7uAD
荒らしてないよ?
Rubyでリファクタリングは静的言語よりも
大変だって話をしてる
2017/12/19(火) 01:15:12.45ID:cabpZd/N
初心者スレじゃないと話せないことなのか?
アンチスレでは話せないのか?
2017/12/19(火) 01:17:14.70ID:si5W7uAD
初心者スレ以外でも話せるよ
ただしアンチじゃないからね。Rubyの特徴を言っているだけ
アンチスレ以外のRubyスレどこででも話をする
2017/12/19(火) 01:19:57.23ID:cabpZd/N
お前のやってきたことはアンチ以外の何者でもないんだが

これからも、同じ事を続けていく気か?
2017/12/19(火) 01:22:18.20ID:si5W7uAD
はい
2017/12/19(火) 01:23:17.40ID:cabpZd/N
つまり、他の人にアンチ行為と受止められていると判ってて、
故意に続けるわけだな?
やめる気は無いのか?
2017/12/19(火) 01:23:40.17ID:si5W7uAD
ない
2017/12/19(火) 01:25:41.82ID:cabpZd/N
他の人に故意に不快を与える行為を続けるという事だね
板やレスの利用等を理解しているか?
2017/12/19(火) 01:27:13.66ID:si5W7uAD
うん
2017/12/19(火) 01:29:43.14ID:cabpZd/N
つまり、わかった上でやっているという事だね

それと、いまさらだがruby初心者?
2017/12/19(火) 01:30:38.45ID:si5W7uAD
ウイ
439デフォルトの名無しさん
垢版 |
2017/12/19(火) 01:32:59.85ID:cabpZd/N
つまりRuby初心者だから間違ったことを言っていたという事だね

それはつまり、これからも間違った事を言い続けるって事かな?
2017/12/19(火) 01:33:45.75ID:si5W7uAD
ノー
2017/12/19(火) 01:36:06.55ID:cabpZd/N
その返答は、今後は反省して間違ったことを言わない、って事を意味しているのかな?
2017/12/19(火) 01:39:05.84ID:si5W7uAD
           __
        , ‐' ´   ``‐、             / ̄:三}
.     /,. -─‐- 、.   ヽ        /   ,.=j
 _,.:_'______ヽ、 .!       ./   _,ノ
  `‐、{ へ  '゙⌒ `!~ヽ. !     /{.  /
    `! し゚  ( ゚j `v‐冫   , '::::::::ヽ、/     そんなことより野球しようぜ!
.    {.l   '⌒      ゙ 6',!   / :::::::::::::::/ __
.     〈  < ´ ̄,フ  .ノー'_ , ‐'´::::::::::::::;/ (_ノ)‐-、
.      ヽ.、 ` ‐", ‐´‐:ラ ':::::::::::::::: ;∠.   ヽ_}  ゙ヽ
        ,.r` "´  /:::::::::::::::::::ィ´  `ゝ  !、  /
     /       / :::::::::::::::: ; '´   /´\ /   r'\
.     i      ! ::::::::::::::/ 墨 | .!::::::::/ヽ、.._!ヽ. ヽ、
     {      {:::::::::::;:イ /   ‖i:::::::/:::::::::::::/  \
.      ヽ       ヽ,.ァ‐'´ /ヽ 二 ,/`ヽ、::::::::: /
2017/12/19(火) 01:41:22.11ID:cabpZd/N
君は、いままでアンチを繰り返し多くの人を故意に不快にさせてきたわけだが、
今後も続けるのかい?
2017/12/19(火) 01:42:11.51ID:si5W7uAD
飽きた、>>409まで内容巻き戻すわ

動的言語がなぜリファクタリングに弱いかというと
いつクラスの定義が定まるかを考えてみればわかる

まずリファクタリングというのはソースコードを修正する
そしてクラスの定義はソースコードから生成される

この時、ソースコードからクラスの定義が単純に決まれば良いのだが
動的言語では、実行するまでクラスの定義が決まらない

ならば実行すればいいと思うかもしれないが、何をどう実行すれば
クラスの定義が定まるのかを知る方法がない

つまりクラスをリファクタリングする場合、
クラスの完成形を知ることができないので、
人間が判断するしかなくなってしまい時間がかかる
445デフォルトの名無しさん
垢版 |
2017/12/19(火) 01:43:46.18ID:cabpZd/N
ではもう一度聞こう
今後は反省して間違ったことを言わない、という意思はあるのかな?
2017/12/19(火) 01:45:58.37ID:si5W7uAD
じゃまなので透明あぼーんした
2017/12/19(火) 01:50:12.56ID:7ZIeceXv
そんなことよりJOI2017/2018の話しようぜ
448デフォルトの名無しさん
垢版 |
2017/12/19(火) 01:54:22.14ID:RoMU0mit
アンチスレに帰れよアンチ
2017/12/19(火) 02:06:16.03ID:cabpZd/N
Rubyについて知らない事を知ったふりして話してたわけか
道理で
2017/12/19(火) 03:08:47.58ID:GcPOv6XA
Ripper.sexp_rawからRipper.sexpに戻すと:stmts_add等が削られて微妙にやりにくい
全部rawの方でいい気がするがRipper.sexpってどういう時に使うんだ?
2017/12/19(火) 04:03:20.54ID:UdKVtF6e
あれてんなw
型の次は、リファクタリングかよ

初心者の内容か?

俺の場合GoFなんかで書き直したい病が持病です。
んでrspec漏れてしょうもないバグおこす。
ほどほどに持病と付き合おうw
2017/12/19(火) 04:45:08.67ID:cabpZd/N
>>450
pで見る用に使ってる
Ripper.sexp_rawはppで見ても長いから
2017/12/19(火) 05:28:28.56ID:GcPOv6XA
やっぱり表示用なんだ

それから出力された配列の操作なんだけど、
配列の中ごろ特定の要素を基に「上の配列に○○が在りかつ後ろの要素に△△があったら××」、
みたいな同定の仕方をしてるんだけど問題ある?
2017/12/19(火) 06:21:37.16ID:a07C5OyP
配列の操作ってそんなもんだろ
2017/12/19(火) 07:00:22.12ID:ykexPK2V
リファクタリングで香ばしい展開になっててわろた

オレがおっさんになったのが、たまたま住人がアホなのか、2ch民全体のレベルが下がったのか
2017/12/19(火) 07:28:41.13ID:ZuB1zFT8
>>455
自治厨の振りした基地外が一人で自演しまくって荒らしてるだけだから無視な
荒らしの狼藉は>>252参照
457デフォルトの名無しさん
垢版 |
2017/12/19(火) 07:38:28.19ID:yvsoeKM9
>>455
Rubyはとっつきやすい分、ニワカとか、簡単だと思って挫折した勘違い君も多いからな。
リファクタリングにしても、用語の定義とか目的知らずに書いてるなあ、ってのばかり。
きちんと理解しようと思ったら、ガウディ本(CTMCP)で計算モデルを理解するのがお勧め。
あと「リファクタリング:Rubyエディション」とかで、以下を把握できる。
・リファクタリングはプログラム改善に使われることが多い。
・数多ある改善基準のうち、リファクタリングは何を対象にしているのか?
・改善手法は、計算モデルと、改善の目的により様々。
2017/12/19(火) 10:23:42.83ID:si5W7uAD
>>457
なんかリファクタリングを理解してないようにみえる。

リファクタリングと計算モデルがどうつながるのか説明してみ
その後、あんたの意見と同等の話をしているサイトを言ってみ

リファクタリングと計算モデルは
ほとんどつながりがないことがわかるからさ
2017/12/19(火) 12:22:26.77ID:B3Kk66cH
結局、荒らしはアンチスレに帰らんかったのか
そりゃアンチスレも落ちぶれるわ
460デフォルトの名無しさん
垢版 |
2017/12/19(火) 22:13:01.86ID:5rvtlxA7
>>428
>Rubyでリファクタリングは静的言語よりも
>大変だって話をしてる

いいや、している話は:
  「動的型付け言語は静的型付け言語よりも大変だ」
だよ
その主張は(個人的には)認めるけど、それだけでRubyスレに
粘着するのは荒らし行為そのものではないかな?
  http://hissi.org/read.php/tech/20171219/c2k1Vzd1QUQ.html

それだけ「動的型付け言語におけるリファクタリング」に関心があるなら、
>>107 で紹介した専用スレへ移動すべきだよ
2017/12/20(水) 00:18:03.50ID:n7Ixbq8J
>>460
俺はそんなことは言ってないので他人の意見だね
Rubyが大変なのはソースコードを読むときだよ。書くときは比較的楽。
楽の意味がわからないなら、タイプ数が少ないと言い換えても良い

Rubyは書くときは楽で、読むときは大変
静的型付け言語はその逆

理由はまんまだが型という情報が書いてあるから。
情報を多く書かなければいけない静的型付け言語は大変で
でも情報が多く有るから静的型付け言語はわかりやすい

ただし前提として複数のモジュール(クラス等)から成り立ってる場合と
言ったほうが良いかもな。ローカル変数なんかは型が書いて無くても
すぐ近くにコードがあって該当の関数しか見なくていいから型がなくても大丈夫

一番の問題は複数モジュールから成り立っていて、特に別ファイルに分かれている場合
こういうのはドキュメントとして型情報を書いておかないと、わけわからなくなる
だけどドキュメントとして型情報書くなら、タイプ数は静的型付け言語より多くなってしまうので本末転倒


Rubyは書くときは楽(ドキュメントを書かないという前提)で、読むときは大変
ドキュメントを書くなら、それはソースコードに一元化した方がいいよって話になる
2017/12/20(水) 00:50:26.05ID:gjXzJsOL
中身スカスカの長文なんてよく書き込めるな
頭の中もスカスカしてそう
2017/12/20(水) 00:55:47.63ID:4hmeAMNm
>>462
そのレスは何が言いたいのだ?
そのレスの中身を教えてくれw
2017/12/20(水) 02:10:20.76ID:wlycKVFQ
rubyの可読性のよさには感動する

DSLとかすごい

たまーにendだらけになるのは難点w
2017/12/20(水) 02:23:39.76ID:Jv20jxkb
動的にリファクタリングさせるコード書いてるけど、
書けないやつはrubymine使えば良くね?
2017/12/20(水) 02:51:18.20ID:s+zCj7ov
配列の操作そのものが難しいと勘違いしてるんじゃないか?
配列の操作に使うコードって大概は下みたいに10行前後で書けるだろ
class Array
def acces(ary = [])
return self if ary.empty?
colect_int = ary.dup
result = self[colect_int.shift]
return colect_int.empty? ? result : result.acces(colect_int)
end
end
467デフォルトの名無しさん
垢版 |
2017/12/20(水) 05:23:54.83ID:Jv20jxkb
配列が苦手とか言われても
パーサから順にイベントを渡されて処理するより明らかに難易度低いだろ
2017/12/20(水) 06:54:28.40ID:6Esz8d8C
今のところ、リファクタリングについて誰ひとり説明できてないぞ?
もっとシンプルに表現できるだろw
469デフォルトの名無しさん
垢版 |
2017/12/20(水) 08:05:26.87ID:DZ3d9p1Y
>>468
というお前さんも説明出来ない訳だが。
470デフォルトの名無しさん
垢版 |
2017/12/20(水) 08:07:18.11ID:DZ3d9p1Y
>>458
数十レスも書いといて「リファクタリングとはこういうものだ」とすら書けない奴が何か言ってる。
471デフォルトの名無しさん
垢版 |
2017/12/20(水) 08:45:35.24ID:Za3FAu+s
おい無職
自演はやめとけ
2017/12/20(水) 14:31:38.22ID:Za3FAu+s
毎朝7時8時から書き込める荒らしは何の仕事してるんや?
473デフォルトの名無しさん
垢版 |
2017/12/20(水) 18:57:50.54ID:2lbW5JOk
RubyVM::InstructionSequence.compile("class Hoge end").eval
のコードを実行したら直後に
p Hoge.new
って問題無く書けるのか
コンテクストが別々だと勘違いしてた
2017/12/20(水) 22:34:07.59ID:4hmeAMNm
>>470
リファクタリングを理解してませんと認めたってことでOKだね
2017/12/20(水) 22:35:24.96ID:4hmeAMNm
>>472
俺は出勤が9時だからだよw
会社まで30分
2017/12/20(水) 22:48:45.50ID:4hmeAMNm
>>466
> 配列の操作そのものが難しいと勘違いしてるんじゃないか?
> 配列の操作に使うコードって大概は下みたいに10行前後で書けるだろ

書けてないだろ?
それ何の処理するコードだよ

[1,2,3].acces([])
=> [1, 2, 3]

[1,2,3].acces([1])
=> 2

[1,2,3].acces([1,2])
NoMethodError: undefined method `acces' for 2:Integer
from (irb):6:in `acces'
from (irb):29
from C:/Ruby24-x64/bin/irb.cmd:19:in `<main>'

お前がそれじゃ、配列は難しいという結論にしかならんぞ
2017/12/20(水) 22:56:44.83ID:4hmeAMNm
>>468
> 今のところ、リファクタリングについて誰ひとり説明できてないぞ?
> もっとシンプルに表現できるだろw

ソフトウェアの外部的振る舞いを保ちつつ、理解や修正が簡単になるように、内部構造を改善すること


補足を追加するならば、
振る舞いを保てていればいいので、アルゴリズムを変えてもOK
というか、無駄があったりしてわかりにくいアルゴリズムを
理解や修正が簡単になるように書き換えることもリファクタリングの一つ

何が言いたいかというと、リファクタリングはパースした結果が
一致するように書き換えることではないということ
パースできたからといって、リファクタリングができたことにはならない
2017/12/20(水) 23:30:14.73ID:nhQOfr/3
2.5まで後5日
479デフォルトの名無しさん
垢版 |
2017/12/21(木) 01:18:36.01ID:l5/5gdQz
>>477
アンチスレへ帰れ
おまえが働いていないのはわかったから
2017/12/21(木) 01:42:59.97ID:prpojwIY
>>479
いい加減学習しよう

422 自分:デフォルトの名無しさん[sage] 投稿日:2017/12/19(火) 01:06:10.31 ID:si5W7uAD [10/23]
はっきり言わないと理解できないのかな?
俺はアンチスレには行きません
何度言われてもね
2017/12/21(木) 02:12:25.62ID:IcTBGDe8
自演ばれてんぞ
482デフォルトの名無しさん
垢版 |
2017/12/21(木) 02:49:55.63ID:l5/5gdQz
>>480
初心者を騙していないではやくアンチスレへ帰れ
デマばかり垂れ流しやがって
2017/12/21(木) 03:03:06.96ID:h5j2wgPh
例えば、構造やサイズが変わる多次元配列の要素を辿って行く必要がある場合、
添え字だけ集めて一括指定で辿れる様にするのって普通?
2017/12/21(木) 11:43:09.31ID:XGDp/jet
>>477
はい。正解
485デフォルトの名無しさん
垢版 |
2017/12/21(木) 12:10:12.13ID:ow9tew52
>>477
>ソフトウェアの外部的振る舞いを保ちつつ、理解や修正が簡単になるように、内部構造を改善すること

オブジェクト指向知らないやつがググってコピペか・・・つまらん。
2017/12/21(木) 13:37:15.11ID:K/addjJ3
>>483
def pickup(a,b,c,d)
a[b][c][d]
end
みたいな?
あ、これじゃ次元数が固定だからダメなのか
2017/12/21(木) 14:41:34.48ID:nqxJQXq0
Array#dig
2017/12/21(木) 18:29:48.77ID:ztrEyuDD
文字列に対して
・0〜9の一桁の数であれば頭に0を付け足す(例:00,01
・10以降はそのまま
という処理を行いたいんですが、正規表現でスパッとかけたりするんでしょうか
イメージとしては
text = "9"なら09
text = "10"なら10
として出力(print)がしたいです
gsubで置換できないか試しているのですがうまいこといかず・・・
アドバイス頂けますと幸いです
2017/12/21(木) 18:34:23.75ID:2OtOKx8R
正規表現よりも sprintfフォーマットを使おう
puts "%02d, %02d,%02d,%02d" % [1,5,10, 100]
#=> 01, 05,10,100
2017/12/21(木) 18:34:49.31ID:ZdPTZj/x
sprintf "%02d" % 9
sprintf "%02d" % 10
2017/12/21(木) 18:51:00.27ID:2OtOKx8R
ちなみにあえてgsubでやるなら
'1'.gsub(/^(?=\d$)/, '0') #=> "01"
'42'.gsub(/^(?=\d$)/, '0') #=> "42"
2017/12/21(木) 18:51:08.76ID:8yE94KQ4
%w(0 1 5 9 11 99 108 1024 16384).each do |x|
  p x.sub(/^([0-9])$/) { "0#$1" } # キャプチャを使った例
  # p x.sub(/^(?=[0-9]$)/) { "0" } # 先読みを使った例
  # p "%02d" % x.to_i # 整数値に変換して書式文字列を使った例
end

"00"
"01"
"05"
"09"
"11"
"99"
"108"
"1024"
"16384"
2017/12/21(木) 19:24:42.40ID:gRGJJy1x
ありがとうございます!sprintf、こういう風に使えるのですか。便利ですね・・・
正規表現での場合も教えていただきありがとうございました
勉強になりましたm(_ _)m
2017/12/21(木) 19:26:00.72ID:gRGJJy1x
>>493
すみません、ID変わってますが>>488です
2017/12/21(木) 19:32:53.88ID:aIK1VRoC
正規表現は後で泣くからなるべく使わないほうがいい。
もし使うのなら
複雑のは避けて
シンプル+シンプルと組み合わせて使うといい。
2017/12/21(木) 20:20:34.35ID:prpojwIY
おい >>466
配列操作簡単なんだろう?
バグ修正はまだか?
497デフォルトの名無しさん
垢版 |
2017/12/21(木) 22:24:14.24ID:OUKJWky+
>>461
>俺はそんなことは言ってないので他人の意見だね

いいや、もろに言ってるよ
君のレスに含まれるRubyという単語を改変してみた:

  >動的型付け言語が大変なのはソースコードを読むときだよ。書くときは比較的楽。
  >楽の意味がわからないなら、タイプ数が少ないと言い換えても良い
   :
  >理由はまんまだが型という情報が書いてあるから。
  >情報を多く書かなければいけない静的型付け言語は大変で
  >でも情報が多く有るから静的型付け言語はわかりやすい

なんら違和感もないだろう?あいも変わらずごく当たり前な一般論を語っているだけ

さあ、Rubyに限定されない「動的型付け言語におけるリファクタリング」を
語りたいのなら、このスレに粘着せず、>>107で紹介した専用スレへ移動しなさい
2017/12/21(木) 22:29:08.65ID:prpojwIY
>>497
改変しておいて、俺が言ってるとか意味不明
改変しなければ、言ってないってことじゃないか
499デフォルトの名無しさん
垢版 |
2017/12/22(金) 10:53:32.70ID:zY/Ujd0Y
496から498までの自演を見てると小学生の演劇見せられてる気分になる

って事で晒しage
2017/12/22(金) 15:56:43.92ID:o0zFMz04
>>497
>>461 はたぶんちょっと勘違いしてる。

単純に静的言語はコンパイルである程度構文エラーを検出できるから楽を、
リファクタリングが楽だと思ってるんじゃないかな

リファクタリングの考え方は言語は関係ないよ
2017/12/22(金) 15:57:53.00ID:o0zFMz04
つか、Ruby関係ないかw
502デフォルトの名無しさん
垢版 |
2017/12/22(金) 16:08:37.20ID:OF22/s+V
ruby2.5は何が来るかな
2017/12/22(金) 17:59:37.34ID:2CqGXpCv
これでTypeScriptやPython方式の型ヒンティングが来たらコミュニティが大荒れするだろうな
2017/12/22(金) 18:04:00.26ID:hLTr5w9I
Ruby 2.5.0-rc1 リリース (12月14日)
https://www.ruby-lang.org/ja/news/2017/12/14/ruby-2-5-0-rc1-released/

★ 新機能 ★
* バックトレースおよびエラーメッセージが逆順に出力されるようになった (Railsゴリ押し?)
* トップレベルにおける定数検索の削除
* rescue/else/ensure が do/end ブロック内にも直接書けるようになった
* yield_self の追加

★ パフォーマンスの改善 ★
(略...

★ その他の注目すべき 2.4 からの変更点 ★
* Onigmo 6.1.3 の取り組み (実際は Ruby 2.4.1 にて取り込み済み)
* bundler の取り込み
その他略...

詳細は https://github.com/ruby/ruby/blob/v2_5_0_rc1/NEWS に書かれてる

☆彡 ☆彡 ☆彡 ☆彡 ☆彡

第三者の記事:
* サンプルコードでわかる!Ruby 2.5の主な新機能と変更点 https://qiita.com/jnchito/items/f182b6f0093a6a3701a1
2017/12/22(金) 18:20:37.57ID:bOdX3AhV



2017/12/22(金) 21:24:19.52ID:6yk8gXaG
>>500
> 単純に静的言語はコンパイルである程度構文エラーを検出できるから楽を、
> リファクタリングが楽だと思ってるんじゃないかな

違うよ。静的型付け言語の場合が簡単なのは、
ソースコード上に型が書いてあるからだよ
コンパイルエラーは関係ない

例えば

class Klass {
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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