- 1 名前:デフォルトの名無しさん [2018/06/03(日) 23:53:27.92 ID:vrBh4O6u.net]
- スレタイ以外の言語もok
前スレ 次世代言語10[Rust Swift TypeScript Dart] https://mevius.5ch.net/test/read.cgi/tech/1524607347/
- 769 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 02:31:41.82 ID:z7QfCwwb.net]
- >>742
不安を感じないものを上げてみて
- 770 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 07:48:27.74 ID:8nfGtP67.net]
- アメリカ人「銃があれば原始人を倒せるのに」
- 771 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 10:23:19.59 ID:/82hZ4jz.net]
- >>756
Gitlabは少なくとも信頼できる Azureで動いてるとか言ってる奴いるけどもうやめるって話出てる エディタはEmacsで十分だし、babelあればES2016でもまともに書けるからTSは不要
- 772 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 10:30:34.11 ID:Uq9cj0Jx.net]
- >>758
DB消すようなとこが信頼できる?
- 773 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 10:39:38.33 ID:/82hZ4jz.net]
- >>759
消したあとの対応は信頼できる MSなら消しても揉み消してた
- 774 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 10:43:02.43 ID:jiePcum7.net]
- >>760
MSそんな事したことあったっけ? ただの妄想?
- 775 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 11:38:55.58 ID:8nfGtP67.net]
- 疑問を持つ人はいっぱいいるが疑問を解決する人は少ないのが現実で
すぐに解決すると思うのは非現実的
- 776 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 17:29:52.82 ID:iZChSW1/.net]
- 年食うと一度学んだ思考回路は変えられないんだろうな
多分死ぬまでMSは邪悪でEmacsは最高のエディタなんだろう
- 777 名前:デフォルトの名無しさん [2018/06/26(火) 18:29:07.51 ID:SLOKSalZ.net]
- >>677
https://benchmarksgame-team.pages.debian.net/benchmarksgame/which-programs-are-fast.html Swiftは遅い
- 778 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 19:30:48.24 ID:Si7josaM.net]
- Goより速いじゃん
- 779 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 19:55:40.04 ID:HsrbbpJS.net]
- >>763
それも偏った思考回路だな
- 780 名前:デフォルトの名無しさん [2018/06/26(火) 19:56:14.90 ID:SLOKSalZ.net]
- あとSwiftでパターンマッチ使うときさ「case let」の「let」ってなんの意味有るの?
- 781 名前:そもそも「case」自体いらないよね。
Rustみたいに簡潔な構文にしない意味がわからん。 [] - [ここ壊れてます]
- 782 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 20:18:13.51 ID:ouGSlrDx.net]
- 簡潔って記号だらけにしろってこと?
perlでも使ってれば
- 783 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 20:22:26.08 ID:wzcThIhT.net]
- Rustの構文が簡潔……??
- 784 名前:デフォルトの名無しさん [2018/06/26(火) 20:23:51.43 ID:SLOKSalZ.net]
- Scalaも構文ダメだけど、Dottyでかなり改善されてるみたいだね
dotty.epfl.ch/
- 785 名前:デフォルトの名無しさん [2018/06/26(火) 20:32:08.64 ID:SLOKSalZ.net]
- >>768
>>769 冗長な構文にするなってこと。 ```Rust match number { 1 => "one", 2 => "two", _ => "else", } ``` ```swift switch number { case 1: return "one" case 2: return "two" default: return "else" } ```
- 786 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 20:36:27.71 ID:Rm57MuZK.net]
- msが嫌いならflow使っとけばいいよ。
俺はTypeScriptで行く
- 787 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 20:37:59.55 ID:Rm57MuZK.net]
- >>771
rustをそんなに押すなら、 毎日ちょっとずつ使い方教えていけよ。 面白い内容ならそのまま覚えるから
- 788 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 20:40:42.88 ID:wjruZlWa.net]
- >>767
case varがあるからでは
- 789 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:03:22.89 ID:1/94qv1z.net]
- >>770
dottyは流石に見苦しいわ 今更互換性ブチ壊して誰がわざわざScalaなんか使い続けるんだよ Lightbendは一度プラットフォーム主導者の味を覚えてしまってもう後に引けなくなってるんだろうな
- 790 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:08:47.59 ID:SIV9Ebow.net]
- 元が冗長だと、機能追加したときの新構文(大抵元と区別のために冗長になる)が
あまり違和感なくなるというメリット?もある C++とか酷いだろ。rustも多分20年ぐらいしたら酷くなる
- 791 名前:デフォルトの名無しさん [2018/06/26(火) 21:18:39.20 ID:SLOKSalZ.net]
- >>774
Rust: https://play.rust-lang.org/?gist=374b461ab0c7a5de9f5e0dc6db6c630b&version=undefined&mode=undefined Swift: https://ideone.com/4yPERL この場合Rustのようにlet書く必要ないと思うんだけど?
- 792 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:33:59.71 ID:uCVrG76/.net]
- >>776
Rustが20年も残ってるとか信者かよ
- 793 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:38:20.73 ID:uCVrG76/.net]
- >>763
いつMSが邪悪じゃなくなったんだよ エディタについてはVimとEmacs以上のものがいまだにないだけ
- 794 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:42:01.06 ID:z7QfCwwb.net]
- >>779
老害おつ
- 795 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:43:00.71 ID:SIV9Ebow.net]
- >>778
ObjectPascalは30年経ってるが、元が冗長と言われまくってたPascalだったおかげで 魔改造されまくった今でもあんまり浮いた構文は無いぞ 初期Macで採用されてたのは別格としても、その後は大したプロダクトもないDelphiぐらいでしか残ってないのに 一応生き残ってるんだから、FirefoxのあるRustも同じぐらいは残るだろ多分
- 796 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:46:10.71 ID:uCVrG76/.net]
- >>780
どっちかっていうと、若者がMSの暴虐の歴史を学んでないから 今現在進んでる暴虐が暴虐と分からないだけだぞ
- 797 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:49:11.80 ID:uCVrG76/.net]
- >>781
火狐に使われてるから残るとか 火狐の世界シェア見てから言おうぜ…… Rustごと自殺して消えるって自白したようなもん
- 798 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:49:29.84 ID:1/94qv1z.net]
- 完全に半島人
- 799 名前:デフォルトの名無しさん [2018/06/26(火) 21:49:47.34 ID:jiePcum7.net]
- >>777
だからletとvarがあるんだって let: https://ideone.com/eB3UWN var: https://ideone.com/ae3qzC
- 800 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:50:20.36 ID:z7QfCwwb.net]
- >>782
具
- 801 名前:体的に []
- [ここ壊れてます]
- 802 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:50:49.04 ID:K3KwuDCb.net]
- Delphiで残れたのなら火狐で残れるだろ
- 803 名前:デフォルトの名無しさん [2018/06/26(火) 21:54:24.01 ID:1lcgGYQy.net]
- この爺さんはこのスレに何しにきとるんだ
特養じゃないっつの
- 804 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 21:56:05.20 ID:SIV9Ebow.net]
- >>787が書いてくれたが
俺も、どっちも細々としたもんだがFirefoxのほうがDelphi(製アプリ)よりはまだマシだろう、というつもりだった その上で20年後の変更されまくったrustはDelphiやswiftより汚くなってそう、という予想
- 805 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 22:07:57.87 ID:TI86xS9J.net]
- すでに汚いしな。
- 806 名前:デフォルトの名無しさん [2018/06/26(火) 22:12:37.76 ID:SLOKSalZ.net]
- >>785
varがあるのはわかるけど、そこでvarを使う場面てあるのかね? https://ideone.com/vMGLEg ```swift case let .B(n): let t = n+1 return String(t) ``` だって変わらんし
- 807 名前:デフォルトの名無しさん [2018/06/26(火) 22:24:29.16 ID:SLOKSalZ.net]
- >>785
それにvarのときだけつければ良くないかね,Rustだと「mut」つけるだけだけど https://play.rust-lang.org/?gist=f7bb032027fcdbc6db2f033c4874c27c&version=stable&mode=debug ```rust AB::B(mut n) => { n+=1; n.to_string().into() } ```
- 808 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 22:33:54.59 ID:wjruZlWa.net]
- >>791
変数束縛にletとvarがある言語において、switchのときだけ変数束縛を特別扱いしてletやvarを省略できるのは一貫性が無いという考え方もある
- 809 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 22:39:59.15 ID:wjruZlWa.net]
- それに短ければ良いなら、rustのlet mulよりswiftのvarの方が短い
パターンマッチより変数宣言方が良く出て来るしね
- 810 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 22:47:02.38 ID:b30is1tn.net]
- 20年後に汚くなるってのはみんなわりと納得するんじゃね?
C++もJavaも、時間経過とともにきっちり汚くなった 言語仕様こねくり回すのが仕事の人が存在するからしゃーないっちゃあしゃーない
- 811 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 22:48:50.88 ID:cumK515O.net]
- 難しい・易しいではなく汚い・美しいという見方をするのはなんでだろう
数学を諦めた感が漂ってる
- 812 名前:デフォルトの名無しさん [2018/06/26(火) 22:49:48.96 ID:SLOKSalZ.net]
- >>793
そういう見方もあるけどね でも ``` case let .B(x): return String(n) ``` と ``` case .B(let x): return String(n) ``` の違いってなんなのかね、違いがないなら「let」省略できたほうがいいように思うが
- 813 名前:デフォルトの名無しさん [2018/06/26(火) 22:51:21.79 ID:SLOKSalZ.net]
- >>797
訂正: xじゃなくてn
- 814 名前:デフォルトの名無しさん [2018/06/26(火) 22:57:45.92 ID:SLOKSalZ.net]
- >>794
短いことがいいんじゃないよ、理由なく冗長な構文がだめなだけ。 Rustはわざと「var」とかじゃなく「let mut」にしている理由は、通常イミュータブルを使うようにするため。 ミュータブルの構文が長いことでプログラマがイミュータブルをより一般的に使うよう促す効果がある。
- 815 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 23:00:40.71 ID:HsrbbpJS.net]
- 可読性の高い綺麗なPerlコードを書けるものだけが石を投げなさい
- 816 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 23:12:38.14 ID:SIV9Ebow.net]
- >>799みたいなのは設計当初は綺麗なんだけど
後から、例えばD言語のconst/immutableみたいな選択肢を追加してしまうと罠に化けそうじゃない?(妄想だけど) その点元が冗長ならある程度耐性がある、という話。後から省略可能にする方はできるしな
- 817 名前:デフォルトの名無しさん [2018/06/26(火) 23:29:44.42 ID:SLOKSalZ.net]
- >>801
Dは全然知らないけど、調べたらデフォルトがミュータブルで、immutableをつけるとイミュータブルになるのか。 ``` int x = 3; // ミュータブル immutable int x = 3; // イミュータブル auto s = "hello"; // イミュータブル ``` これはひどいな
- 818 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 23:32:04.35 ID:SIV9Ebow.net]
- >>802
そこはまあしょうがないとして、イミュータブルにも種類があるという点
- 819 名前:に注目してくれ []
- [ここ壊れてます]
- 820 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 23:40:45.19 ID:cumK515O.net]
- コンパイル時に値がわかるのが定数
実行時に初期化するがその後は変更しないのがimmutableかな
- 821 名前:デフォルトの名無しさん mailto:sage [2018/06/26(火) 23:56:28.51 ID:SIV9Ebow.net]
- 加えて、現在のスコープからは変更不可能だが実体はミュータブルかもしれないのがconst
更にそれぞれに推移のON/OFFがある 何も書かないのがイミュータブルだとその内の1つを適当に使ってるということで 選択肢が増えたときにどれか1つが不自然に短く書けてたことになるし 現状を突き詰め直したときにコンテキスト毎に別のだったなんてことになると目も当てられない
- 822 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 00:01:32.20 ID:3Z0mJH5D.net]
- やっぱり言語仕様は頻繁に変えるべきということだな!w
- 823 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 00:50:40.19 ID:jdISqR1B.net]
- >>802
ゲェジかな ワイの方がよっぽどいい設計できるわ この作者はワイのケツ穴でも舐めてた方が幾分有益な人生になったんじゃないかw
- 824 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 00:59:47.78 ID:CkpNpuYk.net]
- >>805
GCが必須ではない言語の場合、ミュータブルならばメモリ解放もできる 現在のスコープからは変更不可能だが実体はメモリ解放するかも というのは非常にまずい 現在のスコープから変更不可能ならば実体も変更不可能にしたい
- 825 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 01:19:45.86 ID:9jxZxPuA.net]
- >>808
それだとイミュータブルなオブジェクトを貰って何かする関数に ミュータブルなオブジェクトを渡せなくならない? そうすると print とか toString とか hash とか compare とかありとあらゆるものが immutable / mutable 2種類必要になる 引数に2つオブジェクトがあると4種 3つなら8種
- 826 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 20:24:28.42 ID:GckfUNYK.net]
- ただの再代入不可な変数をイミュータブルって言い始めたのって何の言語からなの
- 827 名前:デフォルトの名無しさん mailto:sage [2018/06/27(水) 21:06:16.07 ID:7rLtDwhR.net]
- >>810
たぶん英語だと思う
- 828 名前:デフォルトの名無しさん mailto:sage [2018/06/28(木) 08:21:12.64 ID:1UW06GNd.net]
- >>795
pythonなんかも細かいところはど汚いわけだがあんまりそういう汚いところ 触らんでも仕事になるって違いはある。 てかシンタックスなんててきとうにチェックでもそんな問題にならんよ。 self書かされることなんて文法で規制されてるわけでもないが問題になることなんてない。
- 829 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 09:12:05.44 ID:iOzvNZgV.net]
- >>810
変更可、不可という概念は別に変数に限った話じゃない
- 830 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 09:23:47.61 ID:XwuS30Hh.net]
- Pythonの型アノテーション試してるけど正直苦痛
TypeScriptを使ってるときには全く感じなかった無駄なもの書かされてる感がすごい というかTypeScriptの統合が完璧すぎるんだな 型書くことはノイズになるどころかコードをむしろ美しくするとすら思えるもんな
- 831 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 10:57:44.57 ID:0VaRYdhC.net]
- 少しでも欲を出せばそうなる
完璧な無欲か完璧な満足かの1bitしかない HaskellやRustのようになるまで止まらないぞ
- 832 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 11:15:41.22 ID:tgpXEKjE.net]
- >>814
Python 3.6の変数アノテーションはTypeScriptと大して変わらないのでは? 以前のコメント形式は糞だったけど
- 833 名前:デフォルトの名無しさん [2018/06/29(金) 13:13:42.11 ID:8rEU0m4z.net]
- >>814
全部の変数にアノテーション付けようとしてる? 基本、関数・メソッドの入出力だけでいいぞ 残りは大体推測してくれる
- 834 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 13:43:06.77 ID:HOtQS3nQ.net]
- >>817
ライブラリなどの既存メソッドの戻り値はほとんど型なしだから結局オレオレ型宣言を左辺の変数に付けて回
- 835 名前:ることになる []
- [ここ壊れてます]
- 836 名前:デフォルトの名無しさん [2018/06/29(金) 15:55:24.38 ID:546QQsBD.net]
- >>818
あー、過渡期だからそれはあるかもね 対策としては、他モジュールを呼び出すところはなるべく集める、いきなり完璧を目指さないぐらいか
- 837 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 20:05:29.68 ID:SWySBfmj.net]
- そんなに型に気を使って消耗する位ならもう生js使おう
適当にラッパーかけとけラッパー
- 838 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 21:06:52.59 ID:M/T+ZgVo.net]
- >>820
TypeScriptユーザーがシコシコ型定義ファイル作ってるおかげで、vscodeでjsでも補完きくんやで。感謝せーや
- 839 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 21:09:19.97 ID:0KEVr9Fm.net]
- せめて同梱の標準ライブラリくらいは網羅しておいてほしいよね。
- 840 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 21:11:52.89 ID:M/T+ZgVo.net]
- >>814
typeScriptみたく型定義ファイルの共有する仕組み無いの? いちいち書くのはしんどいな。
- 841 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 21:39:48.60 ID:0VaRYdhC.net]
- >>823
しんどいのか その作業がないということはライブラリの作者は楽をしている だからライブラリが増やすのも楽 そういう仕組みなんだろう
- 842 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 22:21:57.95 ID:5dIySMmw.net]
- >>824
TypeScriptの場合は型定義を提供することでTypeScriptユーザーに使ってもらいやすくなり、 ユーザーの増加がライブラリ製作者にとって一手間かけるモチベーションになる Pythonの場合は型アノテーションを付けたらPython3.5以上でしか使えなくなるのでユーザーは確実に減る 結果、誰も対応しない 根本的に破綻してるんだよ
- 843 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 22:35:49.90 ID:0VaRYdhC.net]
- >>825
破綻してるのはお前のマウンティングだよ マウントが酷いのはHaskellで、TypeScriptは無関係みたいなイメージが根本的に壊れた
- 844 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 22:39:04.05 ID:Yl8lnP6m.net]
- そんなんでイメージ変わるのかよ…
- 845 名前:デフォルトの名無しさん mailto:sage [2018/06/29(金) 23:18:51.02 ID:ifNvOhNj.net]
- おれ的にはこのまま型定義ファイルがすべてのライブラリに標準装備されて緩やかにjsがts化していくことを希望したい。
最初から型定義がライブラリに入っていること多くなってきたよな、
- 846 名前:デフォルトの名無しさん [2018/06/29(金) 23:54:19.04 ID:uRtJ4/dJ.net]
- >>828
それには同意
- 847 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 02:42:20.84 ID:eHfkv0CB.net]
- このスレに来て初めてマウンティングって言葉を知ったわ。
- 848 名前:デフォルトの名無しさん [2018/06/30(土) 03:36:46.79 ID:+abKhVkF.net]
- >>823
あるよ。 typeshedてのがそれ >>825 関数の引数、返値なら3.0から書けるし、コメント使うか別ファイルに書くやり方なら2.7にも対応可能ですが
- 849 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 08:02:10.37 ID:tr0WXiW5.net]
- Haxe では型定義ファイルがあるから、型推論も入力補完もできる
- 850 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 09:44:21.50 ID:4h701pQF.net]
- 通常ならライブラリ本体丸ごと読んで型を調べるべきだ
本体に型がないなら別ファイルに書く
- 851 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 12:26:26.59 ID:aZHCYAl9.net]
- >>831
なんだあるんだ。なら型付言語として使われるのも時間の問題だな。 rubyにもあるみたいだし、 ライブラリのインターフェースだけでも型付き当たり前の世界が来そうだね
- 852 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 14:15:03.20 ID:BB0BPsjY.net]
- まーたruby信者のそ、そんなのる、るびぃでもできるし!か。呆れ
なんでもかんでも深く考えず流行りをそうやって後付けで増築してって奇形極まってるよね。二度と使わないよ。
- 853 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 15:58:28.61 ID:9HearrjU.net]
- rubyの違法建築感は否定しない
が、なんかまとめ臭い書き方だなおい 5chエアプか?
- 854 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 16:41:24.65 ID:oxrLiD+S.net]
- るびぃ
- 855 名前:信者、Proc.new、ラムダ、ブロックにおけるreturn、break、nextの挙動の違いをまとめようとした模様
https://qiita.com/jnchito/items/83410c0cda446efea582 結果、ややこしすぎるためコーディングを工夫してreturnやbreakの使用を避けましょうというなんじゃそりゃな結論www 何か理由があってわざわざ挙動を変えたんだろうが(まさか行き当たりばったりってことはないよね笑)ややこしすぎで使用自体を避けられてちゃ本末転倒だよなwww [] - [ここ壊れてます]
- 856 名前:デフォルトの名無しさん [2018/06/30(土) 17:39:57.19 ID:RHrrdh8p.net]
- >>836
その人はrustがコンパイルできないおじさんだからほっときなさい
- 857 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 18:00:17.99 ID:Q/uEsP1n.net]
- rust
ruby 似てないこともないな
- 858 名前:デフォルトの名無しさん [2018/06/30(土) 18:59:53.28 ID:+abKhVkF.net]
- >>834,836
とはいえ、ruby にまともに使える型チェックの実装があるのかには興味あるな。 まえ調べた感じだと、教祖の型チェック周りの発言はフワッフワだし、実装してみたい個人が互換性のない「オレオレ型チェック」を作っては破棄してる感じで、万人が使えるものは何一つないようなんだが。
- 859 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 19:02:48.17 ID:6fEIEQu0.net]
- どうせ
if type(...) != my_class: とかのシュガーだろ。そんなもんに目くじら立てても意味あるのかね。
- 860 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 19:33:21.11 ID:CMs/fWc6.net]
- Rubyはオモチャだから型付けなんて要りません
それより散らかったオモチャを片付けなさい
- 861 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 20:38:08.56 ID:4h701pQF.net]
- 自分のために違法建築したとは考えにくい
ユーザーを忖度して違法建築なら利己的ではないからOKという風潮があったんじゃないか 会ったこともないユーザーをモチベーションにするのはやめてほしい
- 862 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 23:16:50.81 ID:tr0WXiW5.net]
- >>837
Ruby のProc, block はクロージャだから、クロージャを囲む関数から戻る。 一方ラムダは、単にクロージャを抜けるだけ。 Groovy なども参照 def f (0..5).each do |i| puts i return if i == 3 end end f() #=> 0, 1, 2, 3
- 863 名前:デフォルトの名無しさん mailto:sage [2018/06/30(土) 23:39:42.18 ID:xV+Shhkx.net]
- >Ruby のProc, block はクロージャだから、クロージャを囲む関数から戻る。
クロージャ「だから」、クロージャを囲む関数から戻る?? まるでクロージャだったら当然の挙動と言わんばかりの書き方だけど、クロージャってそんなんだっけ?
- 864 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 00:39:17.02 ID:tX8JlSDC.net]
- そんなものちゃんと読んでる>>845に感心したw
ネットにはゴミが多いね
- 865 名前:デフォルトの名無しさん [2018/07/01(日) 01:54:08.61 ID:5prQoZWD.net]
- >>845
ヒント:Smalltalk
- 866 名前:844 mailto:sage [2018/07/01(日) 02:00:27.83 ID:YZ+qvhoO.net]
- クロージャは、クロージャの外側の環境をつかんでいる。
つまり、クロージャを囲む関数内の変数をつかんでいる だから、クロージャ内でreturn すれば、外側の関数も抜けて、 関数内の変数なども、解放した方が良いと考えた Groovy の挙動とは違うかも
- 867 名前:デフォルトの名無しさん [2018/07/01(日) 02:11:27.56 ID:FQlsc9Xo.net]
- >>848
return だけだったら納得できるんだが、next や break の扱いがぐちゃぐちゃなのはどう説明するの?
- 868 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 02:52:24.35 ID:QlwNZjji.net]
- >>847
関数型でもないウンコ言語がクロージャの話に入ってくんな 何の参考にもならんわ
- 869 名前:デフォルトの名無しさん mailto:sage [2018/07/01(日) 03:04:39.74 ID:3SrV2o5x.net]
- >>837
> まさか行き当たりばったりってことはないよね笑 その、まさかだぞ。 楽しくプログラミング()した結果が仕様だ文句あるか!w
|

|