среда, июня 13, 2007

Enumerable#sequenced_group_by

module Enumerable
# like general <tt>group_by</tt>, but keeps order of original collection
def sequenced_group_by
groups, hash = [], {}
each do |element|
key = yield(element)
groups << [key, hash[key]=[]] unless hash.has_key?(key)
hash[key] << element
end
groups
end
end


Example

  def test_sequenced_group_by
input = ["a2", "c1", "b1", "f1", "a1"]
result = [["a", ["a2", "a1"]], ["c", ["c1"]], ["b", ["b1"]], ["f", ["f1"]]]
assert_not_equal result, input.group_by{|x| x.at(0)}
assert_equal result, input.sequenced_group_by{|x| x.at(0)}
end

Ярлыки: , ,

среда, июня 06, 2007

"View in Firefox" для Opera

В Firefox есть экстеншн которые позволяет просмотреть текушию страницу в IE или в Opera, также есть экстеншн который позволяет просмотреть страницу открытую в IE в Firefox. Ниже приведен способ который позволяет сделать переход Opera -> Firefox.

Откройте файл C:\Programs\Opera\defaults\standard_menu.ini
Найдите секцию [Document Popup Menu] и добавьте туда
Item, "View in Firefox" = Execute program, "C:\Programs\Firefox\Firefox.exe","%u".

У меня этот выглядит так

.....
[Document Popup Menu]
Item, "View in Firefox" = Execute program, "C:\Programs\Mozilla\Firefox.exe","%u"
Item, 50426, = Back
Item, 50427, = Forward
Item, 67648, = Rewind
Item, 67649, = Fast Forward
--------------------1
Item, 50428, = Reload
....

Источник решения

Ярлыки: , , ,