Како креирати и користити хасхеве у Руби-у

Арраис нису једини начин за управљање колекцијама варијабли у Руби. Друга врста колекције променљивих је хасх, који се такође назива асоцијативни низ. Хасх је попут низа у томе што је променљива која чува друге променљиве. Међутим, хасх за разлику од низа у томе што похрањене варијабле нису похрањене у одређеном редослиједу и дохваћене су помоћу кључа умјесто према њиховој позицији у колекцији.

Направите мерење помоћу парова кључа / вредности

Хасх је користан за чување онога што се зове парови кључ / вредност. Пар кључ / вредност има идентификатор који означава којој варијабли хасх-а желите да приступите и променљива која се смешта у тај положај у хасх-у. На пример, наставник може да похрани оцене ученика у хасх. Бобовој оцени би се у хасху приступало помоћу тастера "Боб", а променљива која је смештена на тој локацији била би Бобова оцена.

Хасх варијабла се може креирати на исти начин као и варијабла матрице. Најједноставнија метода је креирање празног хасх објекта и његово пуњење паровима кључ / вриједност. Имајте на уму да се користи оператор индекса, али уместо броја користи се име ученика.

instagram viewer

Запамтите да су хешеви неуређени, што значи да нема дефинисаног почетка или краја као у низу. Дакле, не можете додати додавање хасх-у. Вредности се једноставно убацују у хасх користећи индекс оператор.

#! / уср / бин / енв рубин
граде = Хасх.нев
оцене ["Боб"] = 82
оцене ["Јим"] = 94
оцене ["Билли"] = 58
ставља оцене ["Јим"]

Хасх Литералс

Баш као и низови, хешеви се могу креирати помоћу хасх-а литерали. Хасх литерали користе коврчаве заграде умјесто квадратних заграда и парови кључних вриједности су им се придружили =>. На пример, хасх са једним паром кључа / вредности Боб / 84 изгледао би овако: {"Боб" => 84}. Додатни парови кључ / вредност могу се додати у хасх литерал раздвајајући их зарезима. У следећем примеру се прави хеш са оценама за бројне студенте.

#! / уср / бин / енв рубин
оцене = {"Боб" => 82,
"Јим" => 94,
"Билли" => 58
}
ставља оцене ["Јим"]

Приступ променљивим у хасху

Понекад можете приступити свакој варијабли у хасху. И даље можете петљати преко променљивих у хасху користећи сваки петље, мада неће радити на исти начин као и коришћење сваки петља са варијаблама низа. Пошто је хасх неуређен, редослед по коме сваки ће се петљати над паровима кључ / вредност можда нису исти као редослед којим сте их уметнули. У овом примеру ће се хеш оцена оцењивати и штампати.

#! / уср / бин / енв рубин
оцене = {"Боб" => 82,
"Јим" => 94,
"Билли" => 58
}
граде.еацх до | име, оцена |
ставља "# {наме}: # {разред}"
крај