hm, tried several things with detect() and they all gave a nil error
when least expected error…
so I thought maybe I need to switch to Hash instead of Array?
excuse me for posting the entire function, but this is what I’ve made of
it:
def translate_to_braille(msg)
#braille_alphabet = [ [“a”,“â ”], [“b”,“â ?”], [“c”,“â ?”], [“d”,“â ?”],
[“e”,“â ?”], [“f”,“â ?”], [“g”,“â ?”], [“h”,“â ?”], [“i”,“â ?”], [“j”,“â ?”], [“k”,
“â ?”], [“l”,“â ?”], [“m”,“â ”], [“n”,“â ”], [“o”,“â ?”], [“p”,“â ”], [“q”,“â ?”],
[“r”,“â ?”], [“s”,“â ?”], [“t”,“â ?”], [“u”,“â ¥”], [“v”,“â §”], [“w”,“â º”],
[“x”,“â ”], [“y”,“â ½”], [“z”,“â µ”], [" “, " “] ]
braille_alphabet = { “a”=>“â ”, “b”=>“â ?”, “c”=>“â ?”, “d”=>“â ?”,
“e”=>“â ?”, “f”=>“â ?”, “g”=>“â ?”, “h”=>“â ?”, “i”=>“â ?”, “j”=>“â ?”, “k”=>“â ?”,
“l”=>“â ?”, “m”=>“â ”, “n”=>“â ”, “o”=>“â ?”, “p”=>“â ”, “q”=>“â ?”, “r”=>“â ?”,
“s”=>“â ?”, “t”=>“â ?”, “u”=>“â ¥”, “v”=>“â §”, “w”=>“â º”, “x”=>“â ”, “y”=>“â ½”,
“z”=>“â µ”, " “=>” " }
#msg.split(//).inject(””) { |result, char| result +=
braille_alphabet.first }
msg.split(//).inject(“”) { |result, char|
result += char + " " + braille_alphabet[“r”]
}
end
the braille_alphabet[“r”] nicely gives it’s value, but when I replace it
with braille_alphabet[char] Ruby says:
can’t convert nil into String
why?
char is not nil, because when I print it, it contains a character…
Wilson B. wrote:
On 10/20/06, Gijs N. [email protected] wrote:
end
Does:
some_alphabet.detect {|e| e == “c”}[1]
…do what you’re looking for?