2017-09-12 2 views
0

Ich versuche, eine Methode zu machen, die eine zufällige Karte pic in der Konsole zurück:Druck zufällige Unicode-Karte in der Konsole

def random_card 
    x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'A', 'B', 'C', 'D', 'F'].shuffle.join[0] 
    y = %w[A B C D].shuffle.join[0] 
    card = '\u{1F0' + y.to_s + x.to_s + '}' 
    puts card.to_s 
end 

Ausführung dieses druckt

\u{1F0BF} 

aber ich brauche gleiche Verhalten wie:

puts "\u{1F0BF}" 

Ausgang


+1

Vergessen Sie nicht ['Beispiel'] (https://ruby-doc.org/core-2.4.1/Array.html#method-i-sample). – tadman

+0

'puts% w() .sample' – steenslag

Antwort

0

Ok erste Antwort war falsch, ich habe übersehen etwas, aber:

Wie wäre es damit (getestet):

 ... 
     hexnum="1F0#{y}#{x}" 
     card='' 
     card << hexnum.to_i(16) 
     ... 

Sie die „hex“ machen dynamisch, es in eine ganze Zahl konvertieren und schieben Sie diese als erste char in string
hier gestohlen https://gist.github.com/O-I/6758583

+0

@SimpleLime, ja - sicher, ich habe diesen Aspekt übersehen, daran arbeiten – halfbit

+0

@SimpleLime: diese eine ich getestet, eine neue Antwort – halfbit

+0

Nice !!!! Danke <3 :) –