Самый простой способ - использовать библиотеку коллекций google:
import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap;
открытый класс Test {
public static void main(final String[] args) {
// multimap can handle one key with a list of values
final Multimap cars = ArrayListMultimap.create();
cars.put("Nissan", "Qashqai");
cars.put("Nissan", "Juke");
cars.put("Bmw", "M3");
cars.put("Bmw", "330E");
cars.put("Bmw", "X6");
cars.put("Bmw", "X5");
cars.get("Bmw").forEach(System.out::println);
// It will print the:
// M3
// 330E
// X6
// X5
}
}
maven link: https: // mvnrepository.com/artifact/com.google.collections/google-collections/1.0-rc2
подробнее об этом: http://tomjefferys.blogspot.be/2011/09 /multimaps-google-guava.html
Похоже, что это не проблема с рубином, а из-за вызова notify-send из crontab.
https://askubuntu.com/questions/298608/notify-send-doesnt-work-from-crontab
Одним из возможных решений было добавить DISPLAY=:0
к вашему сценарий:
`DISPLAY=:0 notify-send "Error in EYW Spaces script" "#{Shellwords.escape(message)}"`
Возможные проблемы:
ruby
версия и notify-send
в этом пользователе PATH
DISPLAY
в вашем cron Попробуйте это (измените число на правильное значение DISPLAY) ->
*/5 * * * * DISPLAY=:0 ruby ~/software_dev/scripts/new_script.rb
[ 1111] Может быть полезно: https://unix.stackexchange.com/questions/10121/open-a-window-on-a-remote-x-display-why-cannot-open-display [ 1111]