[#397049] Question on Learning Ruby the Hard Way — Michael Sung <lists@...>
Hi, I have a question on Exercise 43 of Learning Ruby the Hard Way.
[#397063] ruby_rhymes question — Amiee Monticello <lists@...>
I am interested in using ruby_rhymes, but have no idea how to use it. I
Yes, however, I am just learning about ruby and working with the basic
What have you tried? You might want to start with a text file that includes t=
[#397070] how to sort this nested hash — "yibin z." <lists@...>
s = {'s1'=>{'hn1'=>{'15'=> {'m1'=> ['aa', 'bb'] }}}, 's3'=>{'hn2'=>{'10'
[#397093] Using binding + set_trace_func to capture execution state — Reginald Tan <lists@...>
Hi guys, I'm interested in building a program that will display the
Reginald Tan писал 03.07.2012 05:11:
>
On Tue, Jul 3, 2012 at 8:05 AM, Reginald Tan <lists@ruby-forum.com> wrote:
>
Have you tried somehow using continuations?
Bartosz Dziewoński писал 03.07.2012 15:23:
Peter Zotov wrote in post #1067270:
You can use the `local_variables` method to get a list of local
[#397115] Copying Files — "Alex C." <lists@...>
Hi,
Hi,
Jan E. wrote in post #1067228:
Ryan Davis wrote in post #1067277:
Alex C. wrote in post #1067346:
Jan E. wrote in post #1067354:
Alex C. wrote in post #1067355:
Jan E. wrote in post #1067359:
Alex C. wrote in post #1067360:
[#397119] ruby linux tproxy and routing bgp\ospf\others — Eliezer Croitoru <eliezer@...>
two questions:
[#397122] passing ARGV to class methods — Neubyr Neubyr <lists@...>
I have been writing command-line programs using a pattern similar to
[#397126] Newbie needs help with parsing a file — "Jon R." <lists@...>
I have a file with a long string in the following format:
On Wed, 4 Jul 2012 07:52:16 +0900
[#397129] if x.condition, set x to y — wutang paul <lists@...>
Hi, big time newbie here.
[#397140] ARGF: No switch to STDIN after all files? — Iazel Datenshi <lists@...>
I've started learning Ruby and trying to do the first (stupid) program
[#397165] Green threads in 1.9.* ? — rex goxman <lists@...>
I am new to Ruby. I am somewhat surprised that I was not able to find
Hi,
It depends on the interpreter. This post may help you get the picture:
@jacques1 and fxn above:
On Wed, Jul 4, 2012 at 1:45 PM, rex goxman <lists@ruby-forum.com> wrote:
If jacques1 is right, then there are no green threads, just kernel
rex goxman =D0=BF=D0=B8=D1=81=D0=B0=D0=BB 04.07.2012 16:26:
Peter Zotov wrote in post #1067393:
<<There are definitely many reasons to prefer native threads over green
On Thu, Jul 5, 2012 at 6:38 AM, rex goxman <lists@ruby-forum.com> wrote:
Tony Arcieri wrote in post #1067551:
On Thu, Jul 5, 2012 at 10:26 AM, rex goxman <lists@ruby-forum.com> wrote:
Tony Arcieri wrote in post #1067563:
On Thu, Jul 5, 2012 at 12:31 PM, rex goxman <lists@ruby-forum.com> wrote:
Tony Arcieri wrote in post #1067609:
On Thu, Jul 5, 2012 at 8:24 PM, rex goxman <lists@ruby-forum.com> wrote:
On Fri, Jul 6, 2012 at 8:52 AM, Ryan Davis <ryand-ruby@zenspider.com> wrote:
Robert Klemme wrote in post #1067663:
On Fri, Jul 6, 2012 at 5:40 AM, rex goxman <lists@ruby-forum.com> wrote:
Tony Arcieri wrote in post #1067715:
On Sat, Jul 7, 2012 at 12:57 AM, rex goxman <lists@ruby-forum.com> wrote:
[#397184] Compute the lexicographically next bit permutation — "Raghu G." <lists@...>
Compute the lexicographically next bit permutation
[#397185] Insert letters of the alphabet between the original letters of a string — Joao Silva <lists@...>
Hi All.
[#397198] the best way to match these domains. — Eliezer Croitoru <eliezer@...>
thanks in advance i need a bit help to break the ice that my head is in.
On Thu, Jul 5, 2012 at 4:13 AM, Eliezer Croitoru <eliezer@ngtech.co.il> wrote:
On 7/5/2012 10:03 AM, Robert Klemme wrote:
On Thu, Jul 5, 2012 at 10:40 PM, Eliezer Croitoru <eliezer@ngtech.co.il> wrote:
On 7/6/2012 9:21 AM, Robert Klemme wrote:
On Sat, Jul 7, 2012 at 5:32 AM, Eliezer Croitoru <eliezer@ngtech.co.il> wrote:
On 7/10/2012 12:08 PM, Robert Klemme wrote:
On Wed, Jul 11, 2012 at 4:37 AM, Eliezer Croitoru <eliezer@ngtech.co.il> wrote:
On 7/11/2012 9:40 AM, Jes俍 Gabriel y Gal疣 wrote:
On Wed, Jul 11, 2012 at 9:22 AM, Eliezer Croitoru <eliezer@ngtech.co.il> wr=
On 7/11/2012 10:49 AM, Jes俍 Gabriel y Gal疣 wrote:
On Wed, Jul 11, 2012 at 6:18 PM, Eliezer Croitoru <eliezer@ngtech.co.il> wrote:
On Wed, Jul 11, 2012 at 4:37 AM, Eliezer Croitoru <eliezer@ngtech.co.il> wrote:
On 7/12/2012 9:59 PM, Robert Klemme wrote:
[#397205] question: p expression — "smoothedatol412 @..." <lists@...>
Lately I have been going through some Ruby books and I keep coming up on
[#397213] self.clone.replace(super)? — Soichi Ishida <lists@...>
Hi. Could anyone help me understand the following? I am reading a
[#397228] Unable to do the barcode scanning for windows mobile platform — santosh panigrahy <lists@...>
I am trying to do barcode scanning from the sample api given in
[#397231] Can you call private methods with explicit receivers? — Jingjing Duan <lists@...>
My understanding is the answer is no, you can't call private methods
[#397236] Rescue Failing in CGI Script — Doug Jolley <lists@...>
I have a Ruby 1.8.7 CGI script. Practically speaking, the whole thing
[#397255] Management of words in a string — Joao Silva <lists@...>
Hi All.
[#397268] IEEE extended precision float — Anton Hornquist <lists@...>
Hi,
[#397275] Erb templating and output buffer — "Mateusz W." <lists@...>
Hey guys,
[#397278] basic queries — John Lee <lists@...>
Consider the following code:
[#397286] Parsing a zip file for rows of string data — Jason Peterson <lists@...>
I am really new to Ruby and could use some help with a program. I need
[#397298] Re: Ruby Future in coming years — akshay jangid <lists@...>
Akshay Jangid wrote in post #1051602:
[#397328] how do I call a method with a period and pass the object before it ? — roob noob <lists@...>
like 1.to_s , except I want 8.bits_to_bytes
1.9.2p290 :011 > class Fixnum
[#397341] Find that number is repeated more and less times in an array — Joao Silva <lists@...>
Hi all.
Joao Silva wrote in post #1067849:
Brian Candler wrote in post #1067902:
[#397343] Troubled while trying to create list from hash — Panagiotis Atmatzidis <ml@...>
Hello,
[#397348] Trouble installing RubyInline — "smoothedatol412 @..." <lists@...>
I am having trouble installing RubyInline on my Mint Linix OS.
[#397367] How to Print on a single line — Kareem Adams <lists@...>
Hi there,
[#397380] Converting a .rb file to an executable — "Karan J." <lists@...>
Hi Friends,
[#397396] Lambdaification of Method Calls — Robert Klemme <shortcutter@...>
Hi,
My only request would be that you rename the method something like
[#397399] unable to use gems in simple scripts — locky thindromen <lists@...>
Hello, i'm just getting started with ruby and have hit a wall attempting
[#397408] how to create a CText Tk widget ? — "Fred L." <lists@...>
Hello all,
[#397416] learning by doing part 2 - tc game — "Sebastjan H." <lists@...>
Hi,
Hi,
Yes, that would be ok, but that means that the player has to create all
On Tue, Jul 10, 2012 at 12:39 PM, Sebastjan H. <lists@ruby-forum.com> wrote:
"Jes=C3=BAs Gabriel y Gal=C3=A1n" <jgabrielygalan@gmail.com> wrote in pos=
Jan E. wrote in post #1068109:
Sebastjan H. wrote in post #1068110:
Jan E. wrote in post #1068114:
Sebastjan H. wrote in post #1068117:
Jan E. wrote in post #1068119:
On Tue, Jul 10, 2012 at 3:18 PM, Sebastjan H. <lists@ruby-forum.com> wrote:
Thank you for the clarification. I understand the difference and I have
On 07/11/2012 08:21 AM, Sebastjan H. wrote:
As to the style:
Yeah, I actually remembered there was this strange "do-while" loop,
Jan E. wrote in post #1068984:
Sebastjan H. wrote in post #1069017:
I need (hopefully) one final help for this game:)
On Wed, Jul 18, 2012 at 2:02 PM, Sebastjan H. <lists@ruby-forum.com> wrote:
"Jes=C3=BAs Gabriel y Gal=C3=A1n" <jgabrielygalan@gmail.com> wrote in pos=
Hi,
Jan E. wrote in post #1071102:
I wanted to test this on a simple case, so I wrote the following:
[#397432] read and store definitions from an outer file — firstsense sdasad <lists@...>
Hi guys, I am a newcomer to Ruby, i got into it by having to make
[#397439] Array in an array - how to assign to individual array? — Champak Ch <lists@...>
I have 2 arrays.
[#397480] Code complexity (etc.) tools and 1.9 — Hal Fulton <rubyhacker@...>
I've just tried out reek, which is not a bad little tool... but it
[#397503] how to check string is numeric or not — Lucky Nl <lists@...>
Hi friends
On Thu, 12 Jul 2012 19:16:08 +0900
Aleksey Zapparov wrote in post #1068416:
Am 12.07.2012 21:46, schrieb Brian Candler:
[#397531] How to save an irb session including the command output to a file — XueBrian <brian.xue@...>
[#397539] method clear wiping out other array ? — Mike Onofrietto <lists@...>
Hello all,
Both variables point to the same array.
Avdi,
[#397577] Unable to use Range method for excel — agung surya <lists@...>
Hi,
[#397578] Newbie questions on the meanings of things in Ruby — "Alex S." <lists@...>
Hi,
[#397583] Gateway — Robert Klemme <shortcutter@...>
All,
[#397587] rounding to nearest even: nio gem? — Wybo Dekker <wybo@...4all.nl>
Is there a gem which makes it easy to round floats to the nearest even
[#397589] Providing a object-specific class scope? — Samuel Williams <space.ship.traveller@...>
Is it possible to do something like this with Ruby?
[#397608] undefined method error — deal bitte <lists@...>
rid.database_columns[session_db_array[0]]
[#397640] Class not found error when calling a module::class method — Carlos Araya <lists@...>
I'm working on a module to automate the creation of ebooks. When trying
[#397643] what are the C extension analogs of String#force_encoding and String#encode? — Nathan Beyer <nbeyer@...>
Within C extension code, what are the appropriate C functions to use
[#397650] JSON.parse string — Torsten Robitzki <lists@...>
Hello,
[#397655] Is there some seach algorithm available — deal bitte <lists@...>
excel_value = "Deal Bitte"
[#397665] How to replace plain strings? — Albert Schlef <lists@...>
I'm executing the following code:
[#397671] unless if not == unless post_on_ruby_forum — roob noob <lists@...>
So everything I have thus far read and heard about the Ruby unless
It's most useful for perl-esque one-liners:
[#397682] ruby library for wget — "Alan S." <lists@...>
Is there a ruby library for wget ? I searched on google but couldn't
[#397685] odd "system" command behaviour with CUI and GUI — Joel Pearson <lists@...>
Windows 7 64-bit, Ruby 1.9.3.
It works for me on Win XP. What is the return value of #system call?
Bartosz Dziewo=C5=84ski wrote in post #1069474:
Joel Pearson wrote in post #1069476:
Joel Pearson wrote in post #1069477:
Joel Pearson wrote in post #1069478:
[#397707] Homebrew iProblem — Ja Tse <lists@...>
Can anyone tell me what's going on here ? I have reinstalled xCode and
[#397735] start Learning ruby — Dha Josh <lists@...>
Hello Experts,
[#397738] Help a blind man getting ruby to work — "Morten T." <lists@...>
Hallo,
On Mon, Jul 23, 2012 at 2:23 AM, Morten T. <lists@ruby-forum.com> wrote:
Hallo,
[#397740] Re: Anyone interested in a Package Manager in Ruby? — Thomas Sawyer <lists@...>
I just came across this thread, as old as it is, I'd like to contribute.
[#397746] Ocra just stopped working with webdriver — Joel Pearson <lists@...>
This code functions fine from a script, but when I try to package it
[#397755] Re: [ruby-cvs:43685] luislavena:r36509 (trunk): Fix raw UTF-8 test for non-Japanase Windows systems — Eric Hodel <drbrain@...7.net>
[#397757] newbie question: can I run and learn Ruby on a not so powerful machine? — Rezwanur Chy <lists@...>
can I work on Ruby and RoR on my 1 GB RAM, 1.66 Ghz netbook? OS: Ubuntu
[#397775] rubyzip gem overwrites write-protected root-owned file — Wybo Dekker <wybo@...4all.nl>
I'm playing with the rubyzip gem, and found, with this little script:
Am 24.07.2012 14:44, schrieb Wybo Dekker:
On 2012-07-24 16:44, Quintus wrote:
On Thu, Jul 26, 2012 at 07:21:19PM +0900, Wybo Dekker wrote:
[#397777] What is Rex in Ruby — Parvez Shaikh <lists@...>
What is Rex in Ruby...I am a newbie to Ruby...and require a basic info
[#397806] Help with exercise from Chris Pine's Ruby Book: Sort without using .sort — "James H." <lists@...>
Hello all, I'm a n00b that's just getting into programming.
Your method is of course correct. But you don't really use the
Hi,
[#397808] String interpolation / hash of local variables — Gerbeck Shark <lists@...>
Hello all-
[#397817] modular exponentation with multiple exponents? — roob noob <lists@...>
I need to do a^b^c^d^e mod f
*lol*
[#397844] optparse problem grabbing a value — James Harrison <jam@...>
Hi folks,
[#397858] Looking for Cli like with auto-completion of options. — Eliezer Croitoru <eliezer@...>
I want to write some basic cisco like Cli.
[#397862] writing ruby simple restaurant finder — Ruby Sea <lists@...>
Hello,
[#397868] db2_connect on ruby 1.8.5 rubygems 1.3.5 — Emil Enem誡ke <eme@...>
Hi,
IMHO upgrading to a more current Ruby is your best bet
I know it would be best to upgrade to latest version of Ruby, but since =
It is probably still trying to install the latest version of
[#397889] Ruby Project with SOAP Protocol — "Daniel R." <lists@...>
Hello world,
[#397903] How to test whether a session variable has a particular key — Doug Jolley <lists@...>
Although a session variable behaves like a hash for purposes of setting
Doug Jolley wrote in post #1070696:
> are you asking a question about Rails?
Doug Jolley wrote in post #1070702:
> Anyway, if you can avoid storing nil values, then I'd just use
[#397906] Supporting multiple versions of an API — Intransition <transfire@...>
Any recommendations on the management of API versions. I have a case in
On 31 July 2012 07:54, Intransition <transfire@gmail.com> wrote:
[#397916] rubeque: Unidentified X Object — Jingjing Duan <lists@...>
Couldn't figure out how to solve this puzzle. Anyone?
[#397918] String Handling in Ruby — Tridib Bandopadhyay <lists@...>
Hello all,
[#397924] working with large binary strings? — bob hope <lists@...>
I need to work with multiple large binary strings, and to do XOR
Re: learning by doing part 2 - tc game
On Thu, Jul 19, 2012 at 10:13 AM, Sebastjan H. <lists@ruby-forum.com> wrote=
:
> "Jes=FAs Gabriel y Gal=E1n" <jgabrielygalan@gmail.com> wrote in post
> #1069191:
>> On Wed, Jul 18, 2012 at 2:02 PM, Sebastjan H. <lists@ruby-forum.com>
>> wrote:
>>> player_hp =3D player_hp + card.armor
>>> if ai_card.type =3D=3D "dragon" or ai_card.type =3D=3D "dire wolf"
>>> ai_hp =3D ai_hp + ai_card.heal
>>>
>>>
>>> @deck.delete(card)
>>> @ai_deck.delete(ai_card)
>>> puts "Player health is #{player_hp}."
>>> puts "Ai health is #{ai_hp}."
>>> -------------------------------------------------------------
>>> thank you very much.
>>
>>
>> One approach that implies a huge refactor of your datastructures,
>> would be to have each card object implement its own logic on the game
>> state:
>>
>> class ArmorCard
>> attr_reader :armor_level
>> def initialize armor
>> @armor_level =3D armor
>> end
>>
>> def perform_action game_state
>> game_state.increment_player_hp(armor)
>> end
>> end
>>
>> class HealingSpellCard
>> attr_reader :spell_level
>> def initialize spell_level
>> @spell_level =3D spell_level
>> end
>>
>> def perform_action game_state
>> game_state.increment_player_hp(spell_level * 2) #healing spells
>> heal double their level (example of spell logic)
>> end
>> end
>>
>> Then you only need to call the perform_action method in each card
>> object. If you have common logic, such as attack card only differing
>> in name and attack value, but the attack logic is the same, then you
>> could model it with a class hierarchy:
>>
>> class Card
>> def is_attack?
>> false
>> end
>> end
>>
>> class AttackCard < Card
>> def is_attack?
>> true
>> end
>>
>> def perform_action game_state
>> game_state.increment_player_hp(armor)
>> if game_state.ai_card.is_attack?
>> game_state.increment_player_hp(-ai_card.attack)
>> end
>> end
>> end
>>
>> class Dragon < AttackCard
>> attr_reader :armor, :attack
>> def initialize armor, attack
>> @armor =3D armor
>> @attack =3D attack
>> end
>> end
>>
>> And so on. You might have different classes depending on
>> characteristics or other ways to model it: maybe AttackCard,
>> SpellCard, etc could be modules you mixin in specific cards, for
>> example if some card can be both. Then maybe you could have a general
>> implementation of perform_action in the Card class. It depends.
>>
>> I hope this gives you some ideas.
>>
>> Jesus.
>
> Hi Jesus,
>
> I think you are right, this is probably the way to go and much better
> than branching or making different methods for different combinations of
> cards (would make game expansions impossible).
>
> However, I don't understand the "increment_player_hp". This is just your
> example, right? I'd have to define this I guess.
Yes, this is an example. You might have a GameState class with these
kind of utility methods, or any other mechanism for accessing the game
state. For example you could also have just an attr_accessor for
player_hp and do game_state.player_hp +=3D 5, but in general I like
those higher levell methods, because you might use them for integrity
checks, or triggering other logic that might otherwise need to repeat
everywhere. Another example: every time you modify the player_hp, you
might want to check if the player is dead and thus end the game or
whatever. If you have the logic for modifying that value in a single
place you only that logic in one place (DRY).
> Furthermore, according to your example above for the AttackCard there is
> only the definition for the player attack. I'd have to make two of
> those, also for the AI, right?. And for all other card types as well.
Yes, not sure how that works though. You and the AI each play a card,
then you activate the player's card that does something to both
players, then you activte the AI card which does something to both
players? Are the cards the same type for both? Do they do something
different depending if it's the player or the AI the one playing the
card? If the answers are yes, yes and no, you could do soemthing like:
# this would be the game loop making the player and the ai choose
cards and activated them in turn:
game_state.set_active_player :player
game_state.play_card_for_active_player
game_state.set_active_player :ai
game_state.play_card_for_active_player
class AttackCard < Card
def is_attack?
true
end
def perform_action game_state
game_state.increment_active_player_hp(armor)
if game_state.opponent_card.is_attack?
game_state.increment_active_player_hp(-game_state.opponent_card.attac=
k)
end
end
end
So now, both players (player and ai) are the same from the card's
point of view. For a card there's just the "active player" who is the
one activating the card and the "opponent", who is... well, the
opponent :).
If, on the other hand, a card needs to know if it's the player or the
ai the one activating it, you can also model that information in the
game state and have the card check who is the active player. Another
option would be to have two sets of cards that implement the
appropriate logic, for example PlayerAttackCard and AIAttackCard and
so the decks don't share card implementations. So many
possibilities... :D.
Jesus.