Created
September 3, 2014 18:31
-
-
Save misterkak/a87cf4c87584fc28c619 to your computer and use it in GitHub Desktop.
playing with IRB / PRY
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| misterkak@misterkak-900X4D:~$ pry | |
| [1] pry(main)> print "enter your name: " | |
| enter your name: => nil | |
| [2] pry(main)> name = gets.chomp | |
| mike | |
| => "mike" | |
| [3] pry(main)> puts name | |
| mike | |
| => nil | |
| [4] pry(main)> quit | |
| misterkak@misterkak-900X4D:~$ clear | |
| misterkak@misterkak-900X4D:~/work/ruby$ ruby example.rb | |
| Enter your name: mike!!! | |
| Hello, mike!!! | |
| misterkak@misterkak-900X4D:~/work/ruby$ pry | |
| [1] pry(main)> def say_hi(name) | |
| [1] pry(main)* puts "Hi #{name}" | |
| [1] pry(main)* end | |
| => nil | |
| [2] pry(main)> say_hi "Mike" | |
| Hi Mike | |
| => nil | |
| [3] pry(main)> methods | |
| => [:to_s, | |
| :public, | |
| :private, | |
| :include, | |
| :pry, | |
| :__binding__, | |
| :pretty_print, | |
| :pretty_print_cycle, | |
| :pretty_print_instance_variables, | |
| :pretty_print_inspect, | |
| :nil?, | |
| :===, | |
| :=~, | |
| :!~, | |
| :eql?, | |
| :hash, | |
| :<=>, | |
| :class, | |
| :singleton_class, | |
| :clone, | |
| :dup, | |
| :initialize_dup, | |
| :initialize_clone, | |
| :taint, | |
| :tainted?, | |
| :untaint, | |
| :untrust, | |
| :untrusted?, | |
| [4] pry(main)> str = "string!" | |
| => "string!" | |
| [5] pry(main)> str2 = str! | |
| NoMethodError: undefined method `str!' for main:Object | |
| from (pry):7:in `__pry__' | |
| [6] pry(main)> str! = str | |
| SyntaxError: unexpected '=' | |
| str! = str | |
| ^ | |
| [6] pry(main)> str! == str | |
| NoMethodError: undefined method `str!' for main:Object | |
| from (pry):8:in `__pry__' | |
| [7] pry(main)> str | |
| => "string!" | |
| [8] pry(main)> str.inspect | |
| => "\"string!\"" | |
| [9] pry(main)> arr = [1,2,3,8,4] | |
| => [1, 2, 3, 8, 4] | |
| [10] pry(main)> arr = arr.sort! | |
| => [1, 2, 3, 4, 8] | |
| [11] pry(main)> arr.methods | |
| => [:inspect, | |
| :to_s, | |
| :to_a, | |
| :to_ary, | |
| :frozen?, | |
| :==, | |
| :eql?, | |
| :hash, | |
| :[], | |
| :[]=, | |
| :at, | |
| :fetch, | |
| :first, | |
| :last, | |
| :concat, | |
| :<<, | |
| :push, | |
| :pop, | |
| :shift, | |
| :unshift, | |
| :insert, | |
| :each, | |
| :each_index, | |
| :reverse_each, | |
| :length, | |
| :size, | |
| :empty?, | |
| :find_index, | |
| :index, | |
| :rindex, | |
| :join, | |
| :reverse, | |
| :reverse!, | |
| :rotate, | |
| :rotate!, | |
| :sort, | |
| :sort!, | |
| :sort_by!, | |
| :collect, | |
| :collect!, | |
| :map, | |
| :map!, | |
| :select, | |
| :select!, | |
| :keep_if, | |
| :values_at, | |
| :delete, | |
| :delete_at, | |
| :delete_if, | |
| :reject, | |
| :reject!, | |
| :zip, | |
| :transpose, | |
| :replace, | |
| :clear, | |
| :fill, | |
| :include?, | |
| :<=>, | |
| :slice, | |
| :slice!, | |
| :assoc, | |
| :rassoc, | |
| :+, | |
| :*, | |
| :-, | |
| :&, | |
| :|, | |
| :uniq, | |
| :uniq!, | |
| :compact, | |
| :compact!, | |
| :flatten, | |
| :flatten!, | |
| :count, | |
| :shuffle!, | |
| :shuffle, | |
| :sample, | |
| :cycle, | |
| :permutation, | |
| :combination, | |
| :repeated_permutation, | |
| :repeated_combination, | |
| :product, | |
| :take, | |
| :take_while, | |
| :drop, | |
| :drop_while, | |
| :pack, | |
| :pretty_print, | |
| :pretty_print_cycle, | |
| :shelljoin, | |
| :entries, | |
| :sort_by, | |
| :grep, | |
| :find, | |
| :detect, | |
| :find_all, | |
| :flat_map, | |
| :collect_concat, | |
| :inject, | |
| :reduce, | |
| :partition, | |
| :group_by, | |
| :all?, | |
| :any?, | |
| :one?, | |
| :none?, | |
| :min, | |
| :max, | |
| :minmax, | |
| :min_by, | |
| :max_by, | |
| :minmax_by, | |
| :member?, | |
| :each_with_index, | |
| :each_entry, | |
| :each_slice, | |
| :each_cons, | |
| :each_with_object, | |
| :chunk, | |
| :slice_before, | |
| :pry, | |
| :__binding__, | |
| :pretty_print_instance_variables, | |
| :pretty_print_inspect, | |
| :nil?, | |
| :===, | |
| :=~, | |
| :!~, | |
| :class, | |
| :singleton_class, | |
| :clone, | |
| :dup, | |
| :initialize_dup, | |
| :initialize_clone, | |
| :taint, | |
| :tainted?, | |
| :untaint, | |
| :untrust, | |
| :untrusted?, | |
| :trust, | |
| :freeze, | |
| :methods, | |
| :singleton_methods, | |
| :protected_methods, | |
| :private_methods, | |
| :public_methods, | |
| :instance_variables, | |
| :instance_variable_get, | |
| :instance_variable_set, | |
| :instance_variable_defined?, | |
| :instance_of?, | |
| :kind_of?, | |
| :is_a?, | |
| :tap, | |
| :send, | |
| :public_send, | |
| :respond_to?, | |
| :respond_to_missing?, | |
| :extend, | |
| :display, | |
| :method, | |
| :public_method, | |
| :define_singleton_method, | |
| :object_id, | |
| :to_enum, | |
| :enum_for, | |
| :pretty_inspect, | |
| :equal?, | |
| :!, | |
| :!=, | |
| :instance_eval, | |
| :instance_exec, | |
| :__send__, | |
| :__id__] | |
| [12] pry(main)> str.each | |
| NoMethodError: undefined method `each' for "string!":String | |
| from (pry):14:in `__pry__' | |
| [13] pry(main)> arr.each | |
| => #<Enumerator: ...> | |
| [14] pry(main)> arr.each { |x| puts x } | |
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 8 | |
| => [1, 2, 3, 4, 8] | |
| [15] pry(main)> arr | |
| => [1, 2, 3, 4, 8] | |
| [16] pry(main)> arr.each | |
| => #<Enumerator: ...> | |
| [17] pry(main)> { |x| puts x } | |
| SyntaxError: unexpected tIDENTIFIER, expecting keyword_do or '{' or '(' | |
| { |x| puts x } | |
| ^ | |
| [17] pry(main)> arr.each | |
| => #<Enumerator: ...> | |
| [18] pry(main)> do { | |
| SyntaxError: unexpected keyword_do_block, expecting $end | |
| [18] pry(main)> names = { "mike" => 1, "rob" => 2, "kak" => "sur" } | |
| => {"mike"=>1, "rob"=>2, "kak"=>"sur"} | |
| [19] pry(main)> names.each { |x| puts x } | |
| mike | |
| 1 | |
| rob | |
| 2 | |
| kak | |
| sur | |
| => {"mike"=>1, "rob"=>2, "kak"=>"sur"} | |
| [20] pry(main)> names.mike | |
| NoMethodError: undefined method `mike' for {"mike"=>1, "rob"=>2, "kak"=>"sur"}:Hash | |
| from (pry):22:in `__pry__' | |
| [21] pry(main)> puts names["mike"] | |
| 1 | |
| => nil | |
| [22] pry(main)> names[:mike] | |
| => nil | |
| [23] pry(main)> Math.sqrt(1282) | |
| => 35.805027579936315 | |
| [24] pry(main)> Time.now | |
| => 2014-09-03 11:23:03 -0700 | |
| [25] pry(main)> Array.new(10, 'bee') | |
| => ["bee", "bee", "bee", "bee", "bee", "bee", "bee", "bee", "bee", "bee"] | |
| [26] pry(main)> include Math | |
| => Object | |
| [27] pry(main)> sqrt (64) | |
| => 8.0 | |
| [28] pry(main)> sqrt 64 | |
| => 8.0 | |
| [29] pry(main)> names.inspect | |
| => "{\"mike\"=>1, \"rob\"=>2, \"kak\"=>\"sur\"}" | |
| [30] pry(main)> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment