0
A
答えて
3
class Array
def squeeze(n, &p)
p = Proc.new {|xs| xs.join} unless p
arr = self[0..n-2]
arr << p.call(self[n-1..-1])
end
end
a = ['a', 'b', 'c', 'd', 'e']
a.squeeze(3) # => ["a", "b", "cde"]
それは、境界チェックが必要であるが、あなたのアイデアを得る3に配列サイズを設定でしょう。それ以外の場合は
a.join.split '', 3
:あなたのような何かを行うことができ、あなたは要素がちょうど1文字の文字列を知っていた場合は
[1, 2, 3, 4].squeeze(3) {|xs| xs.inject {|acc,x| acc+x}} # => [1, 2, 7]
+0
これは非常に良いですが、これを行うRuby Arrayクラス内にネイティブ実装はありません。これは以前と同じように見えましたが、それ以上見つけることはできません。 #1の場合は – Dejan
6
:「組み合わせ」機能がブロック引数として指定できることに注意してください
をa[0..1] + [a[2..-1].join]
それとも:
a[0..1] << a[2..-1].join
+0
+1。ニースと簡潔な視覚的なノイズなし。 –
関連する問題
- 1. 配列の要素を特定のアルゴリズムで設定する方法は?
- 2. 配列の要素にスコープを設定する方法 - Jquery?
- 3. 固定要素をjQueryで配置する方法
- 4. C++クラス内の配列要素の数を設定する
- 5. 配列の配列の中に要素を設定する
- 6. ValueError:配列で配列要素を設定する
- 7. Androidの要素固定の配置
- 8. elispで多次元配列の要素を設定する方法
- 9. 長い固定数を配列に変換するRuby
- 10. Tensorflow:配列を持つ配列要素を設定する
- 11. ない別の配列の要素の配列を設定
- 12. 配列の特定の要素を別の配列に配置する方法
- 13. つの固定長さの文字列配列のすべての要素を設定
- 14. 固定要素の後ろにある要素のマージンを固定する方法
- 15. パイソン: "とValueError:配列と配列要素を設定する" sklearn
- 16. 固定サイズのオプション配列を定義する方法[Swift 3]
- 17. 固定要素配置による要素のキャプチャ
- 18. 固定フッターを別の要素でカバーする方法は?
- 19. Apache POIで固定列幅を設定する方法
- 20. Objective-C:要素の配列でアルファ値を設定する
- 21. 配列から特定の要素を削除する方法
- 22. 一般的な固定長配列で関数を定義する方法は?
- 23. 複数の同一要素のIDを設定する方法
- 24. デバイス間の要素のサイズを固定する方法
- 25. Angular2:親要素との関係で固定要素を配置する
- 26. JLabel配列の要素のテキストを設定するには?
- 27. 最小限のコードで配列の特定の要素を設定する方法C++
- 28. Simplemodal - onShow関数の要素にフォーカスを設定する方法
- 29. 要素ビデオのイベントに変数を設定する方法
- 30. 配列の配列の要素に特定の値を入れる方法
質問を明確にすることはできますか?あなたの例では、3番目と4番目の要素が連結されていると言っていますか? – Dogweather
はい、配列の要素数を減らしているので、それらは連結されています。 – Dejan