ぶっちゃけ始めるのにいい言語て何 part3at TECHぶっちゃけ始めるのにいい言語て何 part3 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト24:デフォルトの名無しさん 20/09/07 23:11:49 3uGG3SyO.net >>23 偶数のみを処理するのとイテレート時に1個飛ばしで処理するのは意味が違うから混同しちゃだめ Ruby (0..9).filter(&:even?).map{|x| x ** 2} Python [x ** 2 for x in range(0, 10) if x % 2 == 0] or list(map(lambda x:x ** 2, filter(lambda x: x % 2 == 0, range(0,10)))) # 醜いので普通は使わない 25:2 20/09/07 23:44:37 RPzI080p.net >>24 > 偶数のみを処理するのとイテレート時に1個飛ばしで処理するのは意味が違うから混同しちゃだめ 前スレ808氏が苦し紛れに書いたコードでしたので、私はあえてツッコまなかったのですが。。。鬼ですね > [x ** 2 for x in range(0, 10) if x % 2 == 0] こちらの内包表記を用いたコードであれば「醜さ」は改善されていますね もっともHaskellのように、あたかも数式であるかのように書ければ、 より「美しい」と共感する人は多かったのでは無いかと思われますが [x ** 2 | x <- 0..10, x % 2 == 0] > { x ^ 2 | x ∈ S, x > 3 } みたいな数学の集合の表現が元ネタなのかもね 前スレ「ぶっちゃけ始めるのにいい言語て何 part2 」から引用 http://mevius.5ch.net/test/read.cgi/tech/1594883518/811/ では、続きまして前スレから次のお題です ・ある配列を、昇順に並べて、反転して、文字列化して、間を”-“で繋ぐ [1,4,3,2].sort.reverse.map(&:to_s).join('-') 前スレ「ぶっちゃけ始めるのにいい言語て何 part2 」から引用 http://mevius.5ch.net/test/read.cgi/tech/1594883518/791-792/ このように波カッコを使えば、先のお題と同様に左から右へと流れるようなコードが書けます たいして難しいどころか日常的に見られる簡単なお題ですから、もちろん内包表記でも書けますよね? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch