[#407841] Making PKCS12 Stores in Ruby (& where's PKCS8)? — "Carlo M." <lists@...>
I'm fairly new to Ruby, but very comfortable with OpenSSL. I thought it
[#407865] Is it a bug(about constant reference on dynamic class). — jin chizhong <lists@...>
When I use a dynamic class, It can not reference constants.
[#407882] Ruby extremely slow compared to PHP — Mick Jagger <lists@...>
Hello there, how are you? Hope you are fine. I am a PHP programmer
You sure you want this:
[#407897] 'require' is not loading files — "Elliot M." <lists@...>
I am new to ruby and have been teaching it to myself for the past so I
[#407907] Cannot access constants from included modules in a submodule — "Bram S." <lists@...>
Hi there,
[#407908] TCPServer/Socket and Marshal problem — Panagiotis Atmatzidis <atma@...>
Hello,
On 06/03/2013 11:47 AM, Panagiotis Atmatzidis wrote:
On Mon, Jun 3, 2013 at 8:47 PM, Panagiotis Atmatzidis
Hello Robert,
On Wed, Jun 5, 2013 at 10:54 AM, Panagiotis Atmatzidis
[#407914] Problems after upgraded from 1.9.1 to 1.9.3 — "J. V." <lists@...>
We have a production server with a running web application and just
[#407915] Where does Ruby look to load files? — "J. V." <lists@...>
Can someone explain what changed from 1.9.1 to 1.9.2 with regards to
[#407931] Longer user input? — Zeil Era <lists@...>
I think the maximum number of characters in user input ('gets') is 254.
[#407946] Is rubyquiz.com dead? — Alphonse 23 <lists@...>
Thread title says everything.
This sucks. I was planning on uses those for practice.. Does anyone know
On Wed, Jun 5, 2013 at 12:24 PM, Alphonse 23 <lists@ruby-forum.com> wrote:
archive.org has a fairly complete archive of the website from eairler this
In no way shape or form am I saying that I have the time to manage or
[#407949] Need help to start with Ruby — "Shubhada S." <lists@...>
Hi,
[#407955] Create a nested structure from a CSV — Oli Sanders <lists@...>
Hello,
You have attributes like "is supervisor". Maybe a Hash isn't the best
[#407968] Compiling or building an application with green shoes — Ruby Student <ruby.student@...>
I am learning ruby and shoes and started to building a simple
[#408000] My car is "falling" off the screen green shoes — Ruby Student <ruby.student@...>
Team,
[#408010] RubyTk - tkimg fails to import? — Ryan Braun <lists@...>
Hi,
[#408012] Need help understanding recursion. — pedro oliva <lists@...>
Ive been reading Chris Pine's book 'Learn to Program' and its been going
Subject: Need help understanding recursion.
[#408021] Playing with method_missing -- argument list — Tamara Temple <tamouse.lists@...>
[#408043] What do I need to write a web-based application invoked from a browser — Ruby Student <ruby.student@...>
Hello Team,
[#408046] Use of capybara outside of any application — tamouse mailing lists <tamouse.lists@...>
I'm trying to set up a cucumber/capybara test suite that I can use
[#408055] How do I write a method, which returns whether the letters in a word occur in alphabetical order — "Tario C." <lists@...>
How do I write a method, which returns whether the letters in a word
Tario C. wrote in post #1111683:
[#408058] Write a method intersection that takes two ranges — "Tario C." <lists@...>
How do I write a method intersection(range1, range2) that takes two
[#408090] "Unable to require openssl" is driving me crazy gem 2.0.3 might be broken — Ruby Student <ruby.student@...>
Hello Team,
On 06/09/2013 03:17 PM, Ruby Student wrote:
I already have the openssl development package. I recompiled and got the
[#408099] extract from output (regular expressions) — Thomas Cale <lists@...>
Hi guys,
[#408101] buffer overflow detected while doing gem install savon in Ruby 1.8.6 on Fedora11 — Khudadad Kazi <lists@...>
Hi,
Hello
[#408102] Class or method to convert hash keys to enable either string or symbol access? — Tamara Temple <tamouse.lists@...>
[#408117] Issues compiling Ruby 1.9.33-p429 under AIX version 7 — Ruby Student <ruby.student@...>
While trying to build Ruby 1.9.33-p429 under AIX version 7, the *./configure
[#408121] How to install a gem without using gem command online — Ruby Student <ruby.student@...>
Team,
[#408129] Getting Started With Development — Chamila Wijayarathna <cdwijayarathna@...>
I'm new to Ruby Development. I downloaded source from Github, but couldn't
Ruby is often installed on linux, or can be easily installed with the
Per-erik Martin wrote in post #1112021:
Subject: Re: Getting Started With Development
Carlo E. Prelz wrote in post #1112089:
Subject: Re: Getting Started With Development
Carlo E. Prelz wrote in post #1112183:
[#408138] Loop with range question — "Scott H." <lists@...>
Hi All, working through understanding loops. Would someone explain why
[#408142] Building Ruby — Chamila Wijayarathna <cdwijayarathna@...>
How can I install Ruby at http://www.ruby-lang.org/en/download on Ubuntu?
On Tue, Jun 11, 2013 at 11:59 AM, Chamila Wijayarathna <
When I try to make, it says "executable host Ruby is required"
Building ruby requires a working ruby installation. Either you get a
[#408148] How would I refactor these four `unless` statements? — "Rafal C." <lists@...>
Let's say I have the following four `unless` statements in a row. At
[#408189] Error trying to download Ruby Gems on Windows — "Tyler Z." <lists@...>
I'm trying to download gems and every time I do I get this error:
On Wed, Jun 12, 2013 at 3:05 PM, Tyler Z. <lists@ruby-forum.com> wrote:
[#408192] Timsort in Ruby — Alphonse 23 <lists@...>
I just learned about Tim sort for the first time:
[#408198] NokoGiri XML Parser — "Devender P." <lists@...>
Hi,
[#408201] trying to load a .rb file in irb — "Eric D." <lists@...>
I am trying to load a ruby program into irb and it will not load.
[#408205] Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...>
Hell Team,
Dynamicly updating content on a page falls under Ajax (
You should be able to do this without JavaScript by using streaming.
Well, I got some good suggestions from everyone here. I thank you all for
Sinatra is as lightweight and simple a framework you can choose for doing a
Nick and everyone else,
Hi,
Nick,
in thin project, there a a async exemple which
[#408207] Unexpected output piping to ruby -pe '' — Greg Ferguson <lists@...>
How come Ruby outputs the incoming piped text when there is no code to
[#408227] Complete eLearning Course on Ruby using Screen-Casts — Navin Dhanuka <email@...007.com>
Hi,
[#408234] Set up local tcpserver that conencts to socket — "Rs N." <lists@...>
How can we do this?PLease we really need help.
[#408261] Issue in reading data from yaml file — Rochit Sen <lists@...>
Hi All,
On Sun, Jun 16, 2013 at 11:43 AM, Rochit Sen <lists@ruby-forum.com> wrote:
[#408275] Compare and sort one array according to another. — masta Blasta <lists@...>
I have two arrays of objects that look something like this:
On Mon, Jun 17, 2013 at 10:39 PM, Jes=FAs Gabriel y Gal=E1n
You have said that the size of your two arrays is small, so the fact that
On Mon, Jun 17, 2013 at 11:35 PM, Douglas Seifert <doug@dseifert.net> wrote:
Robert Klemme wrote in post #1112735:
If the items within each array belong to each other, how about a
Joel Pearson wrote in post #1112665:
[#408276] Comparing objects — "Thom T." <lists@...>
How do I compare two objects in Ruby, considering only attributes
On Mon, Jun 17, 2013 at 10:52 AM, Thom T. <lists@ruby-forum.com> wrote:
[#408307] getting the most out of Ruby — robin wood <lists@...>
I write a lot of scripts in Ruby, most are small simple things but some
The biggest jumping point for me is when I stopped trying to program Ruby
On Tue, Jun 18, 2013 at 9:59 PM, Brandon Weaver <keystonelemur@gmail.com>wrote:
[#408309] Creating ruby script exe — Rochit Sen <lists@...>
Hi All,
That's a side-effect of using the command --no-dep-run
[#408347] Long conditionals/ multiple conditionals — "Matthew T." <lists@...>
Hi everyone! I am new to Ruby so I need help. Much appreciated!
[#408348] Mime — Brandon Weaver <keystonelemur@...>
Hey Ruby-Talk,
[#408353] Why the `#new_ostruct_member` not being able to add the `:email` ? — Love U Ruby <lists@...>
require 'ostruct'
[#408357] Beginners problem with database and datamapper — cristian cristian <lists@...>
Hi all!
[#408371] require 'rspec' and Ruby 1.8.7 — Mary-Anne Wolf <lists@...>
I am new to Ruby but not to Software Engineering.
[#408384] Licensing terms for "linking" with Ruby — "Muhammad Ali S." <lists@...>
Hi,
[#408388] Cometd client for Ruby — Peter Hickman <peterhickman386@...>
I am going to have to connect to a comet server using Ruby. What I need is
[#408408] Load error - Std lib class Dir — Love U Ruby <lists@...>
I am required to use the class -
[#408427] Confusin with Hash default — Love U Ruby <lists@...>
I was doing some practice and play with Hash default value as written in
[#408437] How do I input a variable floating point number into Ruby Programs — "Michael P F." <lists@...>
I want to evaluate the following interactively:
I want to input the variable, which changes, from the console and
[#408450] Running wordlist.rb code from "why's (poignant) Guide to Ruby" — Arslan Farooq <lists@...>
Hi,
Okay I got it working now:
On 6/24/2013 12:02 AM, Arslan Farooq wrote:
[#408457] A working memory profiling solution? — Andras Horvath <lists@...>
Dear All,
On Mon, Jun 24, 2013 at 6:59 PM, Andras Horvath <lists@ruby-forum.com>wrote:
Robert Klemme wrote in post #1113449:
[#408459] Need help adding formatting while using "WriteExcel" for spreadsheet — Ruby Student <ruby.student@...>
Hello Team,
[#408466] Sum method through while loops or iteration — "Eric D." <lists@...>
I am trying to create a sum method for an empty array, that will return
On Tue, Jun 25, 2013 at 1:33 AM, Eric D. <lists@ruby-forum.com> wrote:
[#408475] Ruby docs in pdf format? — David Croche <lists@...>
I've searched Google for a while and cannot find the official docs in
[#408498] exec iterate through array — Micah Seattle <lists@...>
Hello all, I am looking for a little insight on how to by pass this
[#408517] Faster primality testing and factorization methods in Ruby — "Jabari Z." <lists@...>
I have created various implementations of methods to replace prime? and
I get the following, on an Ubuntu 64-bit VM (edited to fit the page
ah yeah, on 32-bit it's really-really slow.. (trying on my more powerful PC
[#408518] #!/usr/bin/env: No such file or directory — Todd Sterben <lists@...>
I am new to both linux and ruby. I am using Ubuntu and Ruby 1.9
[#408528] Designing a Cabinet class — Mike Vezzani <lists@...>
Hello all,
[#408543] muack 0.7.0 released — "Lin Jen-Shin (godfat)" <godfat@...>
## Muack <https://github.com/godfat/muack>
[#408547] Where's this ruby feature documented? ...and the case of an accidentally discovered feature. — Kendall Gifford <zettabyte@...>
So, while doing some random testing in an IRB session, I accidentally
[#408561] Find elment in array of hashes — Rodrigo Lueneberg <lists@...>
array = {:id=>1, :price =>0.25} # index[0]
"3" is not the same as 3
On Fri, Jun 28, 2013 at 7:21 PM, Rodrigo Lueneberg <lists@ruby-forum.com>wrote:
I am sorry, I did not understand what you tried to convey. To me it is
On 6/28/2013 5:58 PM, Rodrigo Lueneberg wrote:
Walton,
It's worrying that so many people who put their code problems on here
[#408571] Best practice to use Enumerable#Sort and Enumerable#Sort_by — Love U Ruby <lists@...>
While below is perfect :
The #sort_by block tells the engine which field to use when sorting an item.
[#408605] variable names not allowed "?" and "!" but method name does - why? — Love U Ruby <lists@...>
We can write a method name as foo! or foo?; but not the same with
Am 30.06.2013 21:29, schrieb Love U Ruby:
"Matthias W=C3=A4chter" <matthias@waechter.wiz.at> wrote in post #1114002=
Am 30.06.2013 22:07, schrieb Love U Ruby:
Re: Need help understanding recursion.
Recursive algorithms are essentially self-calling algorithms -- so any
method that calls itself is recursive. Typically you'll see the
self-calling section in the return statement. In ruby that would be the
last line of the method before the final end statement. Also, all
recursive methods have a base case, the condition that tells the method
when to exit.
The benefits are sometimes performance gains, lower space complexity,
and more elegant written code (though that's up for you to decide).
Mathematicians more often consider recursive methods more elegant, where
typically the non-math oriented prefer iterative methods for some
reason. Though one way isn't necessarily better than the other.
I think what would help you is to see examples of recursive methods
compared directly to their iterative counterparts, and compare their
running speeds. The fibonacci algorithm is one of the most popular
examples used. Read more about the specific sequence here:
http://en.wikipedia.org/wiki/Fibonacci_number
Below are two versions that calculate the nth number in the fibonacci
sequence:
# iterative
def fibIter(n)
return 0 if n == 0
fibPrev, fib = 1, 1
(n.abs - 2).times { fibPrev, fib = fib, fib + fibPrev }
fib * (n<0 ? (-1)**(n+1) : 1)
end
# recursive
def fibRec(n)
if n <= -2
(-1)**(n+1) * fibRec(n.abs)
elsif n <= 1
n.abs
else
fibRec(n-1) + fibRec(n-2)
end
end
If you benchmark these, you'll notice the iterative method typically
performs better than the recursive one.
require 'benchmark'
Benchmark.bm do |x|
x.report("fibIter 10") { fibIter(10) }
x.report("fibRec 10") { fibRec(10) }
x.report("fibIter 30") { fibIter(30) }
x.report("fibRec 30") { fibRec(30) }
end
user system total real
fibIter 0.000000 0.000000 0.000000 ( 0.000014)
fibRec 0.000000 0.000000 0.000000 ( 0.000032)
fibIter 0.000000 0.000000 0.000000 ( 0.000013)
fibRec 0.340000 0.000000 0.340000 ( 0.350754)
So in this case, the iterative method is faster than the recursive
counter part.
Let me show you an example where a recursive method is much faster.
Below are two sorting algorithms, bubble sort and quick sort. Bubble
sort is a iterative sorting algorithm and quick sort is a recursive
sorting algorithm.
class Array
def bubblesort
length.times do |j|
for i in 1...(length - j)
if self[i] < self[i - 1]
self[i], self[i - 1] = self[i - 1], self[i]
end
end
end
self
end
def quick_sort
return self if length <= 1
pivot = self[length / 2]
find_all { |i| i < pivot }.quick_sort +
find_all { |i| i == pivot } +
find_all { |i| i > pivot }.quick_sort
end
end
ary =
[0,1,4,5,6,7,8,9,12,26,45,67,78,90,98,123,211,234,456,769,865,2345,3215,14345,24324]
ary.shuffle!
Benchmark.bm do |x|
x.report("bubble sort") { ary.bubblesort }
ary.shuffle!
x.report("quick sort") { ary.quick_sort }
end
user system total real
bubble sort 0.000000 0.000000 0.000000 ( 0.000165)
quick sort 0.000000 0.000000 0.000000 ( 0.000096)
As you can see in the benchmarking test, quicksort typically works in
half the time of bubble sort. At worst, quicksort will always sort at
nlog(n) times, where n is the number of array elements (In CS
terminology this is called big O nlog(n) time). A exhaustive iterative
method, such as bubble sort, has a worst case of n^2 time.
Here's an animation written in javascript that illustrates the
differences very well visually:
http://liamks.github.io/Sorting-Visualization/
An important example of a recursive algorithm improving performance is
the binary search algorithm. This algorithm greatly improve searching
speeds in sorted arrays. A linear search will always work in 0(n) time,
whereas a binary search at worst works in O(log(n)) time.
class Array
def binary_search(val, low=0, high=(length - 1))
return nil if high < low
mid = (low + high) / 2
case
when self[mid] > val then binary_search(val, low, mid-1)
when self[mid] < val then binary_search(val, mid+1, high)
else mid
end
end
end
As you can see from the examples above, recursive methods sometimes
improve performance speeds (binary search & sorting) and sometimes don't
(fibonacci). One isn't necessarily better than the other, but they do
offer stylistic differences, which would be important to a rubyist.
Performance gains are not typically important in scripting languages,
but it becomes important in lower level languages like C, C++, Java, and
Go. Where ever running times become important, you should really
understand recursion.
Recursion is even more important in purely functionally programming
languages like Scheme, Lisp, and Haskell. Ruby, as an applied functional
and scripting programming language, has too many performance issues to
make all recursive techniques practical.
Some languages are capable of performing tail recursion, which is a type
of recursive technique that involves using an accumulator variable to
reduce building up a large recursive stack. Tail recursive methods often
have huge performance gains, but not all environments support it
currently:
(http://stackoverflow.com/questions/3616483/why-does-the-jvm-still-not-support-tail-call-optimization)
Though, it's been such a major issue for a long time, I'm certain it'll
become available in the future.
Id say, take it easy. Maybe Chris Pine is using a bad starter example. I
struggled with recursion when I had to first learn it, most do, but it
is a
really nice alternative way of writing eloquent
code -- and after you've master it you'll feel a very strong
appreciation for recursive solutions and those that understand it. It
will also help you understand more advanced CS topics in the future.
Functional/recursive programming techniques are leading the way in both
industry and academia -- so it would be of a huge advantage to
understand it.
Sorry for the long post. I hope this helped.
--
Posted via http://www.ruby-forum.com/.