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. 固定要素をjQueryで配置する方法
- 2. C++クラス内の配列要素の数を設定する
- 3. Androidの要素固定の配置
- 4. Tensorflow:配列を持つ配列要素を設定する
- 5. 長い固定数を配列に変換するRuby
- 6. 配列から特定の要素を削除する方法
- 7. 最小限のコードで配列の特定の要素を設定する方法C++
- 8. Simplemodal - onShow関数の要素にフォーカスを設定する方法
- 9. sklearn SVM fit() "ValueError:シーケンスで配列要素を設定する"
- 10. 固定ブロック要素
- 11. RubyでのYAMLの解析:特定のタイプの要素の配列を取得する方法は?
- 12. スクロール時の固定要素
- 13. モバイルブラウザの固定スケール要素
- 14. 別の固定要素を固定した位置の親子要素
- 15. GetとSetを使用して特定の配列要素を設定する
- 16. 各LI要素に固定幅を設定します
- 17. フォーム要素名の設定方法は?
- 18. ループスルー配列、各要素のプロパティを設定しますか?
- 19. GridViewで列を固定する方法
- 20. 固定長のビット配列の配列
- 21. CでGTK +アプリの固定ウィンドウサイズを設定する方法は?
- 22. Jquery offset()固定配置要素の奇妙な配置
- 23. スクロールした要素内に擬似要素を固定する方法は?
- 24. 要素を垂直に固定する方法は?
- 25. ラップする固定幅の要素
- 26. 配列要素の配列要素をJavaで配列する
- 27. 配列C++の特定の要素を数えます
- 28. yamlで配列またはリスト要素のファクトを指定する方法は?
- 29. マッチ固定サイズの配列
- 30. ClojurescriptでDOM要素の属性を設定する方法は?
質問を明確にすることはできますか?あなたの例では、3番目と4番目の要素が連結されていると言っていますか? – Dogweather
はい、配列の要素数を減らしているので、それらは連結されています。 – Dejan