スレタイ以外の言語もok
前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
次世代言語18 Go Rust Elixir Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/10/01(火) 02:58:03.93ID:aEwUIB6s405デフォルトの名無しさん
2020/02/21(金) 23:25:51.94ID:qBSn2WyF >>404
だからそれらの言語のは配列のスライス専用の記法じゃないから
let list = [ 1 .. 10 ]
みたいな場面でも使われる
こういう時にはたしかに直感的で便利だけどスライス用途ではむしろ使い難い
RubyやPerlも同じ
だからそれらの言語のは配列のスライス専用の記法じゃないから
let list = [ 1 .. 10 ]
みたいな場面でも使われる
こういう時にはたしかに直感的で便利だけどスライス用途ではむしろ使い難い
RubyやPerlも同じ
406デフォルトの名無しさん
2020/02/22(土) 00:02:04.72ID:iumKj4t4407デフォルトの名無しさん
2020/02/22(土) 00:12:16.03ID:3tA6OTRM おまえの個人的な決めつけで閉区間のがいいとか言われても困るわ。
408デフォルトの名無しさん
2020/02/22(土) 00:38:42.23ID:4ukU5GSv 開閉と区間とか知らない言葉出てきた
モナドばりの失笑もんだ
モナドばりの失笑もんだ
409デフォルトの名無しさん
2020/02/22(土) 01:10:25.80ID:nfgptzfk https://tour.golang.org/moretypes/7
The following expression creates a slice which includes elements 1 through 3 of a:
a[1:4]
`1 through 3 of a` == a[1:4]
さすがGoogle謹製わかりやすい!!!
The following expression creates a slice which includes elements 1 through 3 of a:
a[1:4]
`1 through 3 of a` == a[1:4]
さすがGoogle謹製わかりやすい!!!
410デフォルトの名無しさん
2020/02/22(土) 01:52:17.36ID:dIBglAMb Rust
for x in 1..4 { println!("{}", x); }
> 1 2 3
Java
for(int i : Arrays.asList(0,1,2,3,4).subList(1,4)){ System.out.println(i); }
> 1 2 3
IntStream.range(1,4).forEach(System.out::println);
> 1 2 3
C#
foreach(var i in new int[]{0,1,2,3,4}[1..4]){Console.WriteLine(i);}
> 1 2 3
for x in 1..4 { println!("{}", x); }
> 1 2 3
Java
for(int i : Arrays.asList(0,1,2,3,4).subList(1,4)){ System.out.println(i); }
> 1 2 3
IntStream.range(1,4).forEach(System.out::println);
> 1 2 3
C#
foreach(var i in new int[]{0,1,2,3,4}[1..4]){Console.WriteLine(i);}
> 1 2 3
411デフォルトの名無しさん
2020/02/22(土) 02:12:12.39ID:nfgptzfk Rust, Ruby, Swiftあたりは選べるよ
412デフォルトの名無しさん
2020/02/22(土) 09:34:25.17ID:swIKwGW1 (選べなくて)いいです
413デフォルトの名無しさん
2020/02/22(土) 09:56:32.14ID:3tA6OTRM 閉区間だったり1始まりが好きな奴はjulia使ってればいいんじゃね?そこから出なくていいよ。
414デフォルトの名無しさん
2020/02/22(土) 10:01:32.18ID:vDAf0o9K 閉区間だと[i:i-1]で空集合にするのはどうなんだ
415デフォルトの名無しさん
2020/02/22(土) 12:10:17.27ID:BfUm9Jvt @ & $ ^ * ` -> => などを
使ってる言語は俺の中でゴミ確定
うんこをOSS公開しなくていいから
使ってる言語は俺の中でゴミ確定
うんこをOSS公開しなくていいから
416デフォルトの名無しさん
2020/02/22(土) 12:13:19.15ID:ArzKKN+q 配列クラス自体は言語ではなくライブラリだから
いくら言語を統一してもライブラリを何通りも作るのは合法
いくら言語を統一してもライブラリを何通りも作るのは合法
417デフォルトの名無しさん
2020/02/22(土) 12:13:47.33ID:swIKwGW1 >>415
ぴーーーーーーーーえいーーーーーーちーーーーーーーーーーーーピューーーーーーーーーーーーーーーーーーー
ぴーーーーーーーーえいーーーーーーちーーーーーーーーーーーーピューーーーーーーーーーーーーーーーーーー
418デフォルトの名無しさん
2020/02/22(土) 12:28:58.73ID:d8Cq9jZ5419デフォルトの名無しさん
2020/02/22(土) 13:02:12.00ID:WVugcdbO つか、*を使わない言語なんてAPLくらい?
420デフォルトの名無しさん
2020/02/22(土) 14:08:59.76ID:qQaAG+8d Ruby のrange では、
p ( 1 .. 3 ).to_a #=> [1, 2, 3]
p ( 1 ... 3 ).to_a #=> [1, 2]
オプションで切り替えられるのも良いかも
( 1 .. 3, true )
p ( 1 .. 3 ).to_a #=> [1, 2, 3]
p ( 1 ... 3 ).to_a #=> [1, 2]
オプションで切り替えられるのも良いかも
( 1 .. 3, true )
421デフォルトの名無しさん
2020/02/22(土) 14:36:44.32ID:9VOnc80r422デフォルトの名無しさん
2020/02/22(土) 14:57:36.74ID:ArzKKN+q オプションよりキーワードを使おう
first=1, overrun=3
zeroth=1, last=3
first=1, overrun=3
zeroth=1, last=3
423デフォルトの名無しさん
2020/02/22(土) 16:40:01.88ID:dIBglAMb Swiftの半開区間/閉区間の表現を使うとして
(10 ..< 20) → (10 <= x < 20) 要素数: 20-10 = 10
(10 ... 19) → (10 <= x <= 19) 要素数: 19-10+1 = 10
2分割を考える
整数区間の表現や分割は互いに代用可能
(10 ..< 20) → (10 ..< 15) (15 ..< 20) 要素数: 5, 5
(10 ... 19) → (10 ... 14) (15 ... 19) 要素数: 5, 5
実数区間は代用不可能 ※精度の仮定無しに <= 1.9999.. は表現不可
(1.0 ..< 2.0) → (1.0 ..< 1.5) (1.5 ..< 2.0)
(1.0 ... 2.0) → (1.0 ... 1.5) (1.5 ... 2.0) ※境界点のhitTestは両方に該当
閉区間では整数区間と実数区間で考え方が異なる
また、固有の値の数が多くなりがち (10...14) (15...19) → 10,14,15,19
両方あるべきとは思うけど、半開区間の方がロジックが簡潔になることが多い
(10 ..< 20) → (10 <= x < 20) 要素数: 20-10 = 10
(10 ... 19) → (10 <= x <= 19) 要素数: 19-10+1 = 10
2分割を考える
整数区間の表現や分割は互いに代用可能
(10 ..< 20) → (10 ..< 15) (15 ..< 20) 要素数: 5, 5
(10 ... 19) → (10 ... 14) (15 ... 19) 要素数: 5, 5
実数区間は代用不可能 ※精度の仮定無しに <= 1.9999.. は表現不可
(1.0 ..< 2.0) → (1.0 ..< 1.5) (1.5 ..< 2.0)
(1.0 ... 2.0) → (1.0 ... 1.5) (1.5 ... 2.0) ※境界点のhitTestは両方に該当
閉区間では整数区間と実数区間で考え方が異なる
また、固有の値の数が多くなりがち (10...14) (15...19) → 10,14,15,19
両方あるべきとは思うけど、半開区間の方がロジックが簡潔になることが多い
424デフォルトの名無しさん
2020/02/22(土) 16:49:53.81ID:ArzKKN+q スカラーと行列では交換法則がー
↓
交換法則を使ったら不正解とする方がロジックが簡潔みたいな風潮
↓
交換法則を使ったら不正解とする方がロジックが簡潔みたいな風潮
425デフォルトの名無しさん
2020/02/22(土) 19:06:26.05ID:iumKj4t4 >>409
a[1:4]はa[1], a[2], a[3], a[4]にしか見えない。見た目が左右対称だから機能的にも
左右対称な閉区間を表すのが自然。半開区間を表したければ、見た目にも左右非対称な
a[1:<4]にすべきで、1文字増えるだから不満はないだろ。
a[1], a[2], a[3]を指定したいときに、3に1を足して4なんて煩わしいことをするのは
馬鹿げているから、たいていの場合は閉区間が適していて、開区間が適しているのは
>>423のような特殊な場合だけ。
半開区間は「赤上げて、白下げないで青下げて」みたいなひねくれた書き方だから、
閉区間の方が分かりやすい場合にも半開区間を強要するのは、書き間違えやすくバグの
元。お前らも半開区間の言語で、a[1], a[2], a[3]のつもりでa[1:3]と書き間違えた
ことが一度はあるだろ。いや、二度、三度どころかもっとあるはず。白状しろw
a[1:4]はa[1], a[2], a[3], a[4]にしか見えない。見た目が左右対称だから機能的にも
左右対称な閉区間を表すのが自然。半開区間を表したければ、見た目にも左右非対称な
a[1:<4]にすべきで、1文字増えるだから不満はないだろ。
a[1], a[2], a[3]を指定したいときに、3に1を足して4なんて煩わしいことをするのは
馬鹿げているから、たいていの場合は閉区間が適していて、開区間が適しているのは
>>423のような特殊な場合だけ。
半開区間は「赤上げて、白下げないで青下げて」みたいなひねくれた書き方だから、
閉区間の方が分かりやすい場合にも半開区間を強要するのは、書き間違えやすくバグの
元。お前らも半開区間の言語で、a[1], a[2], a[3]のつもりでa[1:3]と書き間違えた
ことが一度はあるだろ。いや、二度、三度どころかもっとあるはず。白状しろw
426デフォルトの名無しさん
2020/02/22(土) 19:15:16.42ID:WVugcdbO 「俺の思い込みに合わせろ」
427デフォルトの名無しさん
2020/02/22(土) 20:24:36.79ID:6IDagORl --lua
print (1 .. 4)
14
print (1 .. 4)
14
428デフォルトの名無しさん
2020/02/22(土) 20:29:39.10ID:iumKj4t4 >>419
*と言えば、Goの巨大数パッケージmath/bigは異様に使いにくいな。
階乗関数の整数版factと巨大整数版Factを書いてみると、C#ではfactのintを
BigIntegerに置換するだけでFactになる。アルゴリズムが本質的に同じときに
同じ書き方をできるのは、分かりやすくて良い。
https://www.ideone.com/T8WbLX
ところが、Goではfactと比べFactには余分なものがたくさん増えている。
*big.Intなんてポインタが現れるし、整数からの変換にbig.NewInt関数が必要だし、
四則演算子を使えず、掛け算は*ではなくMul関数を呼ばないといけない。
こんな実装の裏方を晒して低レベルな書き方をさせるのは、煩雑でバグの元。
C#では許されるp *= n--をGoが許さないのは、評価順序の勘違いによるバグを
防ぐためだろうが、他方で半開区間や巨大数パッケージでバグの温床を与えているのは
設計方針がちぐはぐすぎる
https://www.ideone.com/9ndenp
*と言えば、Goの巨大数パッケージmath/bigは異様に使いにくいな。
階乗関数の整数版factと巨大整数版Factを書いてみると、C#ではfactのintを
BigIntegerに置換するだけでFactになる。アルゴリズムが本質的に同じときに
同じ書き方をできるのは、分かりやすくて良い。
https://www.ideone.com/T8WbLX
ところが、Goではfactと比べFactには余分なものがたくさん増えている。
*big.Intなんてポインタが現れるし、整数からの変換にbig.NewInt関数が必要だし、
四則演算子を使えず、掛け算は*ではなくMul関数を呼ばないといけない。
こんな実装の裏方を晒して低レベルな書き方をさせるのは、煩雑でバグの元。
C#では許されるp *= n--をGoが許さないのは、評価順序の勘違いによるバグを
防ぐためだろうが、他方で半開区間や巨大数パッケージでバグの温床を与えているのは
設計方針がちぐはぐすぎる
https://www.ideone.com/9ndenp
429デフォルトの名無しさん
2020/02/22(土) 21:15:42.06ID:dIBglAMb >>425
> 3に1を足して4なんて煩わしいこと
off位置からlen個取りたい → off..<(off+len)
"key=value"からkeyを切り出したい → 0..<(=の位置)
閉区間では1を引くなんて煩わしいことが必要とも言える
使い易さの例がマジックナンバーなのはナンセンスでは?
非対称な構文にすべきという点には異論無いけど
それ以外の部分は、君がそう思っているという以外に根拠が無いように見える
> 3に1を足して4なんて煩わしいこと
off位置からlen個取りたい → off..<(off+len)
"key=value"からkeyを切り出したい → 0..<(=の位置)
閉区間では1を引くなんて煩わしいことが必要とも言える
使い易さの例がマジックナンバーなのはナンセンスでは?
非対称な構文にすべきという点には異論無いけど
それ以外の部分は、君がそう思っているという以外に根拠が無いように見える
430デフォルトの名無しさん
2020/02/22(土) 22:31:04.26ID:iumKj4t4 >>429
範囲をマジックナンバーで指定したい場面は多い。
閉区間にするため1を引く計算は日常的に染みついているから、煩わしいと思わない。
例えば、2月22日から5日間は、22 + 5 - 1 = 26だから26日までと理解する。
変数で書く場合も、off..<(off + len)よりoff..(off + len - 1)の方が最小値と
最大値が両方明示されていて分かりやすいと思うが、人によって違うだろうし、
半開区間の方が4文字短いので、好みに応じて選べるようにするのが良い。
offを二度書かずに済む構文off+..(len - 1)とoff+..<lenがあるともっと良い。
範囲をマジックナンバーで指定したい場面は多い。
閉区間にするため1を引く計算は日常的に染みついているから、煩わしいと思わない。
例えば、2月22日から5日間は、22 + 5 - 1 = 26だから26日までと理解する。
変数で書く場合も、off..<(off + len)よりoff..(off + len - 1)の方が最小値と
最大値が両方明示されていて分かりやすいと思うが、人によって違うだろうし、
半開区間の方が4文字短いので、好みに応じて選べるようにするのが良い。
offを二度書かずに済む構文off+..(len - 1)とoff+..<lenがあるともっと良い。
431デフォルトの名無しさん
2020/02/22(土) 22:34:01.56ID:WVugcdbO >閉区間にするため1を引く計算は日常的に染みついているから、煩わしいと思わない。
他の人は半開区間もすぐに染みつくから問題ないのよ。
他の人は半開区間もすぐに染みつくから問題ないのよ。
432デフォルトの名無しさん
2020/02/22(土) 23:19:17.03ID:40Zqn9UM >>399
無いなら作れば良い。
そう。Haskellならね。
組込のindexえんざんし(!!)だとこう
[1..3]!!0
>1
んで、1で始まるindex演算子が欲しければ作る。
(x:_) !!! 1 = x
(_:xs) !!! n = xs !!! (n - 1)
[1..3]!!!1
>1
無いなら作れば良い。
そう。Haskellならね。
組込のindexえんざんし(!!)だとこう
[1..3]!!0
>1
んで、1で始まるindex演算子が欲しければ作る。
(x:_) !!! 1 = x
(_:xs) !!! n = xs !!! (n - 1)
[1..3]!!!1
>1
433デフォルトの名無しさん
2020/02/22(土) 23:41:19.49ID:swIKwGW1 な、なんだってー!!!!
434デフォルトの名無しさん
2020/02/22(土) 23:46:03.57ID:3tA6OTRM そんなとこでつまづく様じゃどのみちまともにプログラムできる様にはならんだろ
435デフォルトの名無しさん
2020/02/22(土) 23:49:32.86ID:zVGqPuAA >>432
今のところこいつが一番頭悪そう
今のところこいつが一番頭悪そう
436デフォルトの名無しさん
2020/02/22(土) 23:54:59.87ID:dIBglAMb >>430
ではその期間にログインした人をログイン日時から絞り込むとする
2月22日 <= ログイン日時 <= 2月26日
仕様の具体例として上記を書くのは不具合のリスクがある
2月22日 <= 日単位切り捨て(ログイン日時) <= 2月26日
のように精度を揃える切り捨てを明示するか
2月22日0時0分 <= ログイン日時 < (2月26日0時0分 + 1日間)
のように半開区間にすべき
このような操作が必要なのは、2月22日から2月26日という表現は
実際には「2月22日から2月26日終日」という暗黙の非対称性があるため
ではその期間にログインした人をログイン日時から絞り込むとする
2月22日 <= ログイン日時 <= 2月26日
仕様の具体例として上記を書くのは不具合のリスクがある
2月22日 <= 日単位切り捨て(ログイン日時) <= 2月26日
のように精度を揃える切り捨てを明示するか
2月22日0時0分 <= ログイン日時 < (2月26日0時0分 + 1日間)
のように半開区間にすべき
このような操作が必要なのは、2月22日から2月26日という表現は
実際には「2月22日から2月26日終日」という暗黙の非対称性があるため
437デフォルトの名無しさん
2020/02/22(土) 23:55:16.88ID:iumKj4t4 >>432
Haskellでは範囲を指定してリストを作るときの範囲は閉区間だな。
だから、スライス風演算子!..!を定義すれば、
Prelude> xs !..! ys = map (xs !!) ys
Prelude> [1..10] !..! [1..4]
[2, 3, 4, 5]
となる。
Haskellは言語仕様は難解で有名だが、標準インストールでREPLが提供され、
ソースファイルをいちいち作らずにいろいろ試せて便利だな。C#とF#も
コンパイラ言語だがREPLがある。GoにもREPLが欲しい。Goreという
REPLもどきを作った人はいるが、もどきなので遅くて使い物にならない。
純正で本物のREPLを提供してもらいたい。
Haskellでは範囲を指定してリストを作るときの範囲は閉区間だな。
だから、スライス風演算子!..!を定義すれば、
Prelude> xs !..! ys = map (xs !!) ys
Prelude> [1..10] !..! [1..4]
[2, 3, 4, 5]
となる。
Haskellは言語仕様は難解で有名だが、標準インストールでREPLが提供され、
ソースファイルをいちいち作らずにいろいろ試せて便利だな。C#とF#も
コンパイラ言語だがREPLがある。GoにもREPLが欲しい。Goreという
REPLもどきを作った人はいるが、もどきなので遅くて使い物にならない。
純正で本物のREPLを提供してもらいたい。
438デフォルトの名無しさん
2020/02/22(土) 23:57:09.96ID:dIBglAMb >>430
一方で時間は「昼休みは12:00〜13:00の1時間」のような半開区間の表現と
12:00〜12:59のような閉区間の表現がある (秒以下もあるので中途半端だが)
ググった限りでは前者の方が一般的に見える
行程表などでの分割では 12:00〜12:30, 12:30〜13:00 のようになる
これは君が「特殊な場合」と言ったものの実例
整数区間の日付と実数区間の時刻
一方で時間は「昼休みは12:00〜13:00の1時間」のような半開区間の表現と
12:00〜12:59のような閉区間の表現がある (秒以下もあるので中途半端だが)
ググった限りでは前者の方が一般的に見える
行程表などでの分割では 12:00〜12:30, 12:30〜13:00 のようになる
これは君が「特殊な場合」と言ったものの実例
整数区間の日付と実数区間の時刻
439デフォルトの名無しさん
2020/02/23(日) 00:43:44.71ID:ngt5amF4 配列が1から始まるウンコさに比べたら
こんなもん誤差ですよ
こんなもん誤差ですよ
440デフォルトの名無しさん
2020/02/23(日) 01:27:08.73ID:A66EETsq おじさんてほんと豆知識自慢好きだよな
441デフォルトの名無しさん
2020/02/23(日) 01:52:12.77ID:4j3W7HlN >>439
配列が1から始まったら何か不都合がありますか?
配列が1から始まったら何か不都合がありますか?
442デフォルトの名無しさん
2020/02/23(日) 06:56:02.42ID:z54NwjgJ numpyとか
数値計算専用ライブラが
充実してて使いやすればいいだけの話。
言語ネイティブのシンタックスで
そこまでサポートしなくてもいいし、
どうでもいい。
数値計算専用ライブラが
充実してて使いやすればいいだけの話。
言語ネイティブのシンタックスで
そこまでサポートしなくてもいいし、
どうでもいい。
443デフォルトの名無しさん
2020/02/23(日) 07:02:30.87ID:z54NwjgJ しかしよく考えたら
if(0 < x < 10)
くらいの比較演算は確かにあったら便利だよな
なんでこれができる言語はないのか。
もしくはbetweenとか
誤解を招くような記法を使うのではなく、
普通の不等号で挟めるのが一番わかりやすいな。
if(0 < x < 10)
くらいの比較演算は確かにあったら便利だよな
なんでこれができる言語はないのか。
もしくはbetweenとか
誤解を招くような記法を使うのではなく、
普通の不等号で挟めるのが一番わかりやすいな。
444デフォルトの名無しさん
2020/02/23(日) 08:28:32.81ID:NXppToWn 一発目でboolが出てこない特別ルールを構文解析器に埋め込まなきゃなんないからな
445デフォルトの名無しさん
2020/02/23(日) 08:52:16.70ID:Sm6Vd1r9 >>441
配列が2から始まったら何か不都合がありますか?
配列が2から始まったら何か不都合がありますか?
446デフォルトの名無しさん
2020/02/23(日) 08:53:35.92ID:vHITJSpV if (0 < x && x < 10) と書くのと比べてもそこまで便利だとも思えん
447デフォルトの名無しさん
2020/02/23(日) 09:02:51.71ID:SvXUu1bl >>443
Icon言語ってのがあるよ。
Icon言語ってのがあるよ。
448デフォルトの名無しさん
2020/02/23(日) 09:55:59.93ID:yD0p0mSx >>443
Juliaの話してます?
Juliaの話してます?
449デフォルトの名無しさん
2020/02/23(日) 10:09:37.75ID:DWh+LsOr こんなしょーもないことでグダグダ文句言うくらいなら本人だけがjuliaでも使ってりゃいいんだよ。
こういう馬鹿に限って人に自分の感覚を強制しようとする。
こういう馬鹿に限って人に自分の感覚を強制しようとする。
450デフォルトの名無しさん
2020/02/23(日) 10:48:37.88ID:qGGkqWra >>415
_*:;を多用する言語が目に悪くてイラッとする
_*:;を多用する言語が目に悪くてイラッとする
451デフォルトの名無しさん
2020/02/23(日) 11:19:19.18ID:y7plF7NK これ自分の「正しさ」を人に押しつけるパターンではないな
狼少年は自分の言葉が正しくないと知りながら人に教える
動機は、例えば何かの記憶を消すためにでたらめなデータで上書きするとか
狼少年は自分の言葉が正しくないと知りながら人に教える
動機は、例えば何かの記憶を消すためにでたらめなデータで上書きするとか
452デフォルトの名無しさん
2020/02/23(日) 12:03:38.48ID:e2r12CYr >>443
Pythonかな
Pythonかな
453デフォルトの名無しさん
2020/02/23(日) 14:48:30.91ID:FuQUS0ts >>444
3項演算子にすればいいだけ
3項演算子にすればいいだけ
454デフォルトの名無しさん
2020/02/23(日) 15:28:27.91ID:SvXUu1bl そういうことじゃなくて、0<x<10 の 0<x の部分と単体の 0<x では異なる評価をしないとならないということ。
モナドみたいな形で解決できるかもしれないが。
モナドみたいな形で解決できるかもしれないが。
455デフォルトの名無しさん
2020/02/23(日) 21:19:41.25ID:eJliGvsG >>438
「○〜○」や「○から○まで」という表現は閉区間だよ。13時ちょうどは次の閉区間と
重複し、昼休みであると同時に昼休みではないことになり、厳密に言えばおかしいが、
13時とそれより0.01秒前または後との違いなんて日常感覚では知覚できないから、
このような表現でも問題なく通用している。
秒を小数で表示すれば実数になるが、(連想配列でない)配列の添字は整数しか
ないから、実数を持ち出すのはそれこそナンセンス。実数は数直線上の点だが、
整数は番号が付けられた桝目として捉えられる。配列は下図のようなメモリ格納
イメージだから、
012345
□■■■□□
黒く塗られた部分をスライスとして指定したければ、その部分の最初と最後の番号を
使ってa[1:3]と書くのが分かりやすく間違えにくい。Excelのセル番地の範囲を
指定するのに閉区間でA1:B3と書き、半開区間でA1:<C4とは書かないのと同じ。
>>441
PowerShell, Python, Rubyのように配列の添字が負の整数-iのとき最後からi番目の
要素を指す仕様の言語では、正の整数iのとき最初からi番目の要素を指す仕様(つまり
添字が1始まり)にする方が整合性が取れて分かりやすいな(実際には0始まり)。
「○〜○」や「○から○まで」という表現は閉区間だよ。13時ちょうどは次の閉区間と
重複し、昼休みであると同時に昼休みではないことになり、厳密に言えばおかしいが、
13時とそれより0.01秒前または後との違いなんて日常感覚では知覚できないから、
このような表現でも問題なく通用している。
秒を小数で表示すれば実数になるが、(連想配列でない)配列の添字は整数しか
ないから、実数を持ち出すのはそれこそナンセンス。実数は数直線上の点だが、
整数は番号が付けられた桝目として捉えられる。配列は下図のようなメモリ格納
イメージだから、
012345
□■■■□□
黒く塗られた部分をスライスとして指定したければ、その部分の最初と最後の番号を
使ってa[1:3]と書くのが分かりやすく間違えにくい。Excelのセル番地の範囲を
指定するのに閉区間でA1:B3と書き、半開区間でA1:<C4とは書かないのと同じ。
>>441
PowerShell, Python, Rubyのように配列の添字が負の整数-iのとき最後からi番目の
要素を指す仕様の言語では、正の整数iのとき最初からi番目の要素を指す仕様(つまり
添字が1始まり)にする方が整合性が取れて分かりやすいな(実際には0始まり)。
456デフォルトの名無しさん
2020/02/23(日) 22:23:06.83ID:BvZqtd/x >>455
> 配列の添字は整数しかないから、実数を持ち出すのはそれこそナンセンス
区間という概念が配列にしか使われないとでも?
> 13時ちょうどは次の閉区間と重複し、昼休みであると同時に昼休みではない
時間帯毎の集計程度の処理で容易に不具合出しそう
> 配列の添字は整数しかないから、実数を持ち出すのはそれこそナンセンス
区間という概念が配列にしか使われないとでも?
> 13時ちょうどは次の閉区間と重複し、昼休みであると同時に昼休みではない
時間帯毎の集計程度の処理で容易に不具合出しそう
457デフォルトの名無しさん
2020/02/23(日) 23:26:10.61ID:SvXUu1bl グラフィック処理でのピクセル座標系とグリッド座標系の違いの方が似てるかな。
昔は直感的なピクセル座標系も使われていたけど、グリッド座標系の方が合理的だということが理解されて
今じゃそっちが主流だな。
昔は直感的なピクセル座標系も使われていたけど、グリッド座標系の方が合理的だということが理解されて
今じゃそっちが主流だな。
458デフォルトの名無しさん
2020/02/23(日) 23:33:16.75ID:VVi+7A/g よくわかんない
ドラゴンボでたとえて
ドラゴンボでたとえて
459デフォルトの名無しさん
2020/02/24(月) 00:07:37.86ID:XuGp3j1T 馬鹿が馬鹿なことを言ってるだけだわ。
電流が本当は負の方向にながれててもそのまま正負は変えてないってことの意味を少しは理解しろ。
電流が本当は負の方向にながれててもそのまま正負は変えてないってことの意味を少しは理解しろ。
460デフォルトの名無しさん
2020/02/24(月) 00:11:25.85ID:S594+rxm つまり?
461デフォルトの名無しさん
2020/02/24(月) 00:16:26.23ID:XuGp3j1T >>460
閉区間に合わせろやと言ってるバカは無視していいってこと。
閉区間に合わせろやと言ってるバカは無視していいってこと。
462デフォルトの名無しさん
2020/02/24(月) 00:28:58.12ID:S594+rxm >>461
ドラゴンボでたとえて!
ドラゴンボでたとえて!
463デフォルトの名無しさん
2020/02/24(月) 11:16:49.98ID:FL3aaU5e 添字が実数の場合は左辺値という概念がなくなるだろうから
[]演算子は意味のない仕様だよ
()演算子だけでいい
[]演算子は意味のない仕様だよ
()演算子だけでいい
464デフォルトの名無しさん
2020/02/24(月) 11:37:27.76ID:S594+rxm だからドラゴンボではなしてってゆってるでしょ!
465デフォルトの名無しさん
2020/02/24(月) 12:23:33.10ID:Smt10ptd ドラゴボじゃだめなの?
466デフォルトの名無しさん
2020/02/24(月) 12:28:55.87ID:S594+rxm ドラゴンボです!
467デフォルトの名無しさん
2020/02/24(月) 13:49:03.80ID:XuGp3j1T これが面白いと思ってるんだろうな。。かわいそうに。
468デフォルトの名無しさん
2020/02/24(月) 15:48:18.28ID:dJSyQnEN クソワロタwwwwwwwwwwwwwwwwww
469デフォルトの名無しさん
2020/02/24(月) 16:06:14.97ID:FL3aaU5e 長編すぎて売れすぎた作品で笑った記憶ある?
お笑いは意味のない芸だよ
お笑いは意味のない芸だよ
470デフォルトの名無しさん
2020/02/24(月) 17:54:18.52ID:/m2XX1oE 三国志で張飛が「ぐわっ」の一言で死んだ時わろた
471デフォルトの名無しさん
2020/02/24(月) 18:06:27.88ID:/m2XX1oE あまりに社会に都合がわるい真実なので隠蔽されているが
笑いは基本的には嘲笑であり相手との社会的距離による
自分の地位向上が見込めそうなとき笑いが出る
自分と近しい人だとちょっとした失敗のとき笑う、ケガとかは後で自分に面倒がくるから笑えない
自分と距離がすごくある、究極的にはフィクションだと指でつつかれて頭が吹っ飛ぶのに大笑いできるわけだ
愚かさをアピールして反射的な笑いを取る方法だと
長期になるとそいつが愚かなのはわかりきってるので笑えなくなる
状況が思いもしない方向に転換するようなときは長編でも笑える
笑いは基本的には嘲笑であり相手との社会的距離による
自分の地位向上が見込めそうなとき笑いが出る
自分と近しい人だとちょっとした失敗のとき笑う、ケガとかは後で自分に面倒がくるから笑えない
自分と距離がすごくある、究極的にはフィクションだと指でつつかれて頭が吹っ飛ぶのに大笑いできるわけだ
愚かさをアピールして反射的な笑いを取る方法だと
長期になるとそいつが愚かなのはわかりきってるので笑えなくなる
状況が思いもしない方向に転換するようなときは長編でも笑える
472デフォルトの名無しさん
2020/02/24(月) 19:55:05.44ID:17cy6+il >>461
範囲指定(スライスに限らない)が閉区間だけの言語
Fortran, F#, Haskell, Julia, MATLAB, Octave, Pascal, PowerShell, R, S, Scilab
どう見ても使用者の平均的な知能は半開区間だけの言語より高そうだなw
蛇に唆され禁断の果実を食べ「知恵」を得たが、「知恵」と呼べるほどのものでは
なかった。代償として産みの苦しみが増し、苦労して食物を収穫し、死んで塵に
帰らなければならなくなった――
Pythonに後続し半開区間だけにしたGoは、非合理で書きにくい記法を甘受しなければ
いけない、>>2の表現を借りるなら「イケてない労働者言語」か… その地位を
否定したいなら、改悛して閉区間も取り入れ、Pythonを駆逐してもらいたい。
範囲指定(スライスに限らない)が閉区間だけの言語
Fortran, F#, Haskell, Julia, MATLAB, Octave, Pascal, PowerShell, R, S, Scilab
どう見ても使用者の平均的な知能は半開区間だけの言語より高そうだなw
蛇に唆され禁断の果実を食べ「知恵」を得たが、「知恵」と呼べるほどのものでは
なかった。代償として産みの苦しみが増し、苦労して食物を収穫し、死んで塵に
帰らなければならなくなった――
Pythonに後続し半開区間だけにしたGoは、非合理で書きにくい記法を甘受しなければ
いけない、>>2の表現を借りるなら「イケてない労働者言語」か… その地位を
否定したいなら、改悛して閉区間も取り入れ、Pythonを駆逐してもらいたい。
473デフォルトの名無しさん
2020/02/24(月) 20:11:23.36ID:XuGp3j1T474デフォルトの名無しさん
2020/02/24(月) 20:13:54.96ID:1guin73G >>471
生きるの大変そう
生きるの大変そう
475デフォルトの名無しさん
2020/02/24(月) 21:42:39.58ID:17cy6+il476デフォルトの名無しさん
2020/02/24(月) 22:40:17.58ID:XuGp3j1T じゃあC#つかって巨大数の計算してりゃええよ。
なんで無理にどの言語も同一的にしようとするのか?愚かとしか言いようがない。
お前が挙げてる下の言語にgoに近くなるように言ったらええわ。
Fortran, F#, Haskell, Julia, MATLAB, Octave, Pascal, PowerShell, R, S, Scilab
賢い人ばっかならそっちのが意見きいてくれるだろw
なんで無理にどの言語も同一的にしようとするのか?愚かとしか言いようがない。
お前が挙げてる下の言語にgoに近くなるように言ったらええわ。
Fortran, F#, Haskell, Julia, MATLAB, Octave, Pascal, PowerShell, R, S, Scilab
賢い人ばっかならそっちのが意見きいてくれるだろw
477デフォルトの名無しさん
2020/02/24(月) 22:45:23.33ID:1U5lho1x 1始まりの閉区間これ最強マジお勧め
1. nが符号付整数でも
for (n = 100; n >= 1; n--) { ... }
が有限ステップで止まる
2. nで表せる上限が65535のとき
for (n = 1; n < 65535; n++) { ... } より
for (n = 1; n <= 65535; n++) { ...
1. nが符号付整数でも
for (n = 100; n >= 1; n--) { ... }
が有限ステップで止まる
2. nで表せる上限が65535のとき
for (n = 1; n < 65535; n++) { ... } より
for (n = 1; n <= 65535; n++) { ...
478デフォルトの名無しさん
2020/02/24(月) 22:45:56.20ID:OInStaY+ >>475
求めるのは構わないがそれに対する反対もまた正当
言語設計者/コアメンバの判断やコミュニティで賛成多数かなどで決まるだろうが
不要な追加は改悪になりうるので説得出来ないなら現状維持が優先される
自分の好みや引き合いに出した言語の使用者の知能が高そうという話で
より多数の使用者を抱える言語の仕様を変えられると考えるのは無理がある
求めるのは構わないがそれに対する反対もまた正当
言語設計者/コアメンバの判断やコミュニティで賛成多数かなどで決まるだろうが
不要な追加は改悪になりうるので説得出来ないなら現状維持が優先される
自分の好みや引き合いに出した言語の使用者の知能が高そうという話で
より多数の使用者を抱える言語の仕様を変えられると考えるのは無理がある
479デフォルトの名無しさん
2020/02/24(月) 22:48:33.53ID:NVuyTsWU >>475
C#のように半開区間で指定できるんだからいいじゃん
C#のように半開区間で指定できるんだからいいじゃん
480デフォルトの名無しさん
2020/02/24(月) 23:18:53.55ID:17cy6+il >>478
後方互換性がない改版はむやみにすべきではないが、不合理な点をいつまでも
引きずるのも良くない。PythonやRubyは後方互換性がない改版を敢行した。
範囲を半開区間でしか指定できずそれをa[1:4]のように書くのは、for文で言えば
for (i = 1; i <= 3; i++) を禁止し、for (i = 1; i < 4; i++) しか許さず、
しかもそれをfor i = 1 to 4と書けと言っているような滅茶苦茶な仕様。
>>479
C#のスライスの歴史は浅く、2019年9月のC#8.0で採用されたばかり。同じ.NET系で
スライスを既に持っていたF#とPowerShellに合わせて閉区間にすべきだったな。
もちろん、a[1..<4]で半開区間を表し、それをF#とPowerShellにも導入するのは
一向に構わない。
後方互換性がない改版はむやみにすべきではないが、不合理な点をいつまでも
引きずるのも良くない。PythonやRubyは後方互換性がない改版を敢行した。
範囲を半開区間でしか指定できずそれをa[1:4]のように書くのは、for文で言えば
for (i = 1; i <= 3; i++) を禁止し、for (i = 1; i < 4; i++) しか許さず、
しかもそれをfor i = 1 to 4と書けと言っているような滅茶苦茶な仕様。
>>479
C#のスライスの歴史は浅く、2019年9月のC#8.0で採用されたばかり。同じ.NET系で
スライスを既に持っていたF#とPowerShellに合わせて閉区間にすべきだったな。
もちろん、a[1..<4]で半開区間を表し、それをF#とPowerShellにも導入するのは
一向に構わない。
481デフォルトの名無しさん
2020/02/24(月) 23:36:38.08ID:iQYTd9Fe >>472
数学よりの用途が比較的多い言語が並んでて興味深いな
数学よりの用途が比較的多い言語が並んでて興味深いな
482デフォルトの名無しさん
2020/02/24(月) 23:38:10.64ID:OInStaY+ >>480
滅茶苦茶な仕様とやらは閉区間だけの言語には言わないのか?
専用の演算子が用意されていないことを禁止と言い換えるあたりもズレているし
それともそういう動作の関数すら自分で実装出来ないのか
自分の主観を中心にしすぎだ
だから好きな言語を使えという話になる
滅茶苦茶な仕様とやらは閉区間だけの言語には言わないのか?
専用の演算子が用意されていないことを禁止と言い換えるあたりもズレているし
それともそういう動作の関数すら自分で実装出来ないのか
自分の主観を中心にしすぎだ
だから好きな言語を使えという話になる
483デフォルトの名無しさん
2020/02/25(火) 00:00:00.40ID:AmG8+LM2484デフォルトの名無しさん
2020/02/25(火) 01:06:59.95ID:C32G0TY+ ドラゴンボに喩えられない無能ども
485デフォルトの名無しさん
2020/02/25(火) 02:54:50.77ID:oSeHo6cg そんなに閉区間がいいならa.slice(1,3)とか作ればええやん・・・
と思ったが
Goはnon-localな型を直接拡張できないから
自前でラッパーを定義しないとa.slice(1,3)は無理
じゃslice(a, 1, 3)でもいいかって考えるけど
ジェネリックがないから要素の型ごとに関数定義が必要・・・
じゃマクロでコード生成すればいい・・・・・ってマクロもない
詰んどるやんけ
もうa[m:n+1]でええわってなる
と思ったが
Goはnon-localな型を直接拡張できないから
自前でラッパーを定義しないとa.slice(1,3)は無理
じゃslice(a, 1, 3)でもいいかって考えるけど
ジェネリックがないから要素の型ごとに関数定義が必要・・・
じゃマクロでコード生成すればいい・・・・・ってマクロもない
詰んどるやんけ
もうa[m:n+1]でええわってなる
486デフォルトの名無しさん
2020/02/25(火) 03:52:13.55ID:1ovb/01f Go ていつもそんな感じだよなwww
言語内で出来る範囲で済んでるうちはまあまあ快適だけど
いざ「これさぁ・・何度も同じパターンでてくるからなんかうまく
楽するやりかた考えられんもんかな」ってはじめると
あーージェネリックないから全部書かないといけないのか面倒くせぇ・・
じゃマクロ・・はないのか・・じゃあどうすれば・・
えええいもういいやベタでシコシコ書こう、ってなりがち
でそういうグチ言うとジェネレーター使えとかいわれるけどあんな
ウンコみたいな機構に頼らないといけない時点でクソすぎるわ
言語内で出来る範囲で済んでるうちはまあまあ快適だけど
いざ「これさぁ・・何度も同じパターンでてくるからなんかうまく
楽するやりかた考えられんもんかな」ってはじめると
あーージェネリックないから全部書かないといけないのか面倒くせぇ・・
じゃマクロ・・はないのか・・じゃあどうすれば・・
えええいもういいやベタでシコシコ書こう、ってなりがち
でそういうグチ言うとジェネレーター使えとかいわれるけどあんな
ウンコみたいな機構に頼らないといけない時点でクソすぎるわ
487デフォルトの名無しさん
2020/02/25(火) 07:30:56.44ID:AO5ezpPA Goは楽をするための言語ではない
確実に書くための言語なのだよ
確実に書くための言語なのだよ
488デフォルトの名無しさん
2020/02/25(火) 09:14:21.30ID:SJd9VeEz >>486
まともなビルドシステムも作れないようなお前がうんこなんだよ
まともなビルドシステムも作れないようなお前がうんこなんだよ
489デフォルトの名無しさん
2020/02/25(火) 14:22:44.48ID:2Lu4opRy goは確実に書くための言語ではない
仕事を増やすための言語なのだよ
仕事を増やすための言語なのだよ
490デフォルトの名無しさん
2020/02/25(火) 19:15:23.89ID:C32G0TY+ 新言語覚えただけで仕事した気になるガイジ
俺みたいな優秀なビジネスマンから見たら同じことしてるだけで偉そうにしてるゴミ
俺みたいな優秀なビジネスマンから見たら同じことしてるだけで偉そうにしてるゴミ
491デフォルトの名無しさん
2020/02/25(火) 21:30:57.62ID:AO5ezpPA おまえは優秀なんだろうな
何がしたいのかわからんアホのために
仕事をし、結論をだし、さらにはその意味付けまで考え出す
馬鹿がトップにいても優秀に見えるようにふるまえる
おれはそんなに優秀じゃない
心が死ぬ
何がしたいのかわからんアホのために
仕事をし、結論をだし、さらにはその意味付けまで考え出す
馬鹿がトップにいても優秀に見えるようにふるまえる
おれはそんなに優秀じゃない
心が死ぬ
492デフォルトの名無しさん
2020/02/25(火) 21:40:22.90ID:AO5ezpPA 雑談スレじゃないじゃねーか
赤っ恥かいた
もう来ない
赤っ恥かいた
もう来ない
493デフォルトの名無しさん
2020/02/26(水) 19:03:12.30ID:JAINtVGn RustもPythonないとビルドできないクソ言語。
しかも2.7系。依存が深すぎて3系にアップグレードできないw
しかも2.7系。依存が深すぎて3系にアップグレードできないw
494デフォルトの名無しさん
2020/02/26(水) 19:07:45.10ID:5GhL8bDh495デフォルトの名無しさん
2020/02/26(水) 21:17:35.91ID:LEGaL302 IBMがSwift開発を終了 - Chris Bailey氏とのQ&A
https://www.infoq.com/jp/news/2020/02/ibm-stop-work-swift-server/
IBMは先頃、サーバサイドSwiftの開発を中止した。これはSwiftがオープンソース化して間もなく開始されたもので、Swift Server Worl Griup[SSWG]のリーダシップも同時に譲渡されている。
GoとRust、そしてSwiftは、型安全でコンパイル可能なネイティブ言語として、CおよびC++の代替となる"現代的ネイティブ言語"としてグループ分けされることが少なくありません。
GoはKubernetesのようなクラウドテクノロジのコアインフラストラクチャや、CLIの開発などに使われるシステム言語として、真の得意分野を見つけることに成功しました。
Rustはまだ展開すべき場所を模索している段階ですが、Web Assemblyによって大きな関心を集めるようになっています。
Swiftが採用曲線において遅れを取っていることは否めない事実です。
https://www.infoq.com/jp/news/2020/02/ibm-stop-work-swift-server/
IBMは先頃、サーバサイドSwiftの開発を中止した。これはSwiftがオープンソース化して間もなく開始されたもので、Swift Server Worl Griup[SSWG]のリーダシップも同時に譲渡されている。
GoとRust、そしてSwiftは、型安全でコンパイル可能なネイティブ言語として、CおよびC++の代替となる"現代的ネイティブ言語"としてグループ分けされることが少なくありません。
GoはKubernetesのようなクラウドテクノロジのコアインフラストラクチャや、CLIの開発などに使われるシステム言語として、真の得意分野を見つけることに成功しました。
Rustはまだ展開すべき場所を模索している段階ですが、Web Assemblyによって大きな関心を集めるようになっています。
Swiftが採用曲線において遅れを取っていることは否めない事実です。
496デフォルトの名無しさん
2020/02/26(水) 22:47:29.71ID:dT4BwRcy TypeScriptは高カインド型作れないのを早くなんとかしてくれ
インターフェース使って無理やり実現するハックもあるけど、ポリモーフィックな関数のUnionをちゃんと単一化できないあたり雑魚いなあという印象
インターフェース使って無理やり実現するハックもあるけど、ポリモーフィックな関数のUnionをちゃんと単一化できないあたり雑魚いなあという印象
497デフォルトの名無しさん
2020/02/26(水) 23:00:43.71ID:yGkcf64x 高カインド型
498デフォルトの名無しさん
2020/02/26(水) 23:01:04.23ID:yGkcf64x 高力 インド型
499デフォルトの名無しさん
2020/02/26(水) 23:25:33.17ID:5GhL8bDh const people: Namasute = new Indo()
people.eat(curry).yogaFire()
こんな感じか?
people.eat(curry).yogaFire()
こんな感じか?
500デフォルトの名無しさん
2020/02/27(木) 00:26:44.33ID:SC3VM5LZ カリー化か
501デフォルトの名無しさん
2020/02/27(木) 01:14:55.96ID:G3iz3let 高カインド型言いたかっただけだろこの馬鹿は。
502デフォルトの名無しさん
2020/02/27(木) 09:21:04.85ID:OJ5+vP6y 低知パキスタン型と戦わせよう
503デフォルトの名無しさん
2020/02/27(木) 12:48:26.71ID:gmGuUzNT $j = new Jap(colonaUirus)
$j.touhyo(jimin) === gaiji // true
$j.touhyo(jimin) === gaiji // true
504デフォルトの名無しさん
2020/02/27(木) 13:01:06.82ID:OJ5+vP6y VIRUSをUIRUSって書くって古代ローマ人かよお前www
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- くそしてかがやけ
- 一人暮らしだからケツ出してみてるけど
