[過去ログ] ぶっちゃけ始めるのにいい言語て何 part6 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
295
(8): 2021/08/23(月)11:20 ID:PbwMaige(1/3) AAS
>>292
その重ねまくる括弧とラムダ式みたいな特殊な記法が並んでる例を
メジャーなスクリプト言語3つで比較してみました
よくある「数字のリストをソートして逆順にして文字列にしてハイフンで繋ぐ」プログラム

【Ruby】
a.sort().reverse().map{|x| x.to_s}.join('-')

【JavaScript】
a.sort().reverse().map(x => x.toString()).join('-')

【Python】
'-'.join(map(lambda x: str(x), reversed(sorted(a))))
省2
297: 2021/08/23(月)11:27 ID:n1hZLw7w(1) AAS
>>293
JavaScriptは拡張ではなく昔からラムダ式すなわち無名関数式がありますよ
むしろ拡張でいえばアロー形式導入で見やすく括弧の数も減っています
貴方が誤解しているのではないでしょうか?
>>295に見られるようにJavaScriptはわかりやすい言語の一つです
301: 2021/08/23(月)12:40 ID:ueeBrG1Y(1) AAS
>>295
Pythonはカッコが多くなって読みにくいな。
303: 2021/08/23(月)13:48 ID:WMEJY++t(1) AAS
>>295を見るとPythonは可読性が低く保守もしにくそうですね
308
(1): 2021/08/23(月)14:23 ID:/6K8Gxc1(1/6) AAS
>>295

なお、ことりん

【Kotlin】
s.reversed().map { it.toString() + "-" }.joinToString()
340
(1): 2021/08/23(月)21:08 ID:dS401MqO(1/3) AAS
>>295
Ruby
>a.sort().reverse().map{|x| x.to_s}.join('-')

map{|x| x.to_s} を、map( &:to_s ) と書ける

Symbol#to_proc で、self に対応する、Proc オブジェクトを返します。
生成されるProcオブジェクトは、lambda です
346: 2021/08/23(月)22:15 ID:x2dcVOdp(1) AAS
>>295 ocaml
外部リンク:ideone.com
let f1 x = String.concat "-" (List.map string_of_int (List.rev (List.sort compare x)))

(* @@ Application operator *)
let f2 x = String.concat "-" @@ List.map string_of_int @@ List.rev @@ List.sort compare x

(* |> Reverse-application operator *)
let f3 x = List.sort compare x |> List.rev |> List.map string_of_int |> String.concat "-"

let (<<) f g x = f (g x)
let f4 = String.concat "-" << List.map string_of_int << List.rev << List.sort compare

let (>>) f g x = g (f x)
省8
897
(2): 2021/09/06(月)17:16 ID:7r7RF488(1) AAS
>>893
そんなことはないですよ
例えば>>295のRubyとJavaScriptとPythonのプログラム例がある「数字のリストをソートして逆順にして文字列にしてハイフンで繋ぐ」プログラム
これをRustで同じ方法で書いてみるとほぼ同じように書けます

use itertools::Itertools;
fn main() {
 let a = [4, 9, 3, 7, 1, 8, 5];
 let s = a.iter().sorted().rev().map(|n| n.to_string()).join("-");
 println!("{}", s);
}
省3
904: 2021/09/06(月)20:27 ID:q4rO2J8T(1/2) AAS
>>900
イテレータ構文を気持ち悪いと感じるのはあなたが時代遅れのプログラマーだから
以前に>>295でJavaScriptやRubyの例が示されているようにRustに限らず様々な現代的なプログラミング言語でほぼ同じイテレータ構文となる
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s