I’ve started on my first ruby project and came accross the following
code from:
http://habtm.com/articles/2005/11/13/your-site-doesnt-look-too-good-in-x-browser
Since I’ve managed to understand most of what’s going on here, but I
still can’t find a reference on how and why to use “#”. From
following the code it looks like an escape character for a variable to
be populated when enclosed within quotes. Does anyone have enough
understanding on the syntax to help a ruby nubie?
class Hash
def to_sql
sql = keys.sort {|a,b| a.to_s<=>b.to_s}.inject([[]]) do |arr, key|
arr[0] << “#{key} = ?”
arr << self[key]
end
[sql[0].join(’ AND ')] + sql[1…-1]
end
end
Thanks,
Richard
On 12/22/05, redrhodes [email protected] wrote:
class Hash
def to_sql
sql = keys.sort {|a,b| a.to_s<=>b.to_s}.inject([[]]) do |arr, key|
arr[0] << “#{key} = ?”
arr << self[key]
end
[sql[0].join(’ AND ')] + sql[1…-1]
end
end
a = “hay guys”
puts “this is what a is: #{ a }”
prints:
this is what a is: hay guys
Just wondering, what language has been your main programming language
until now?
I’m always curious to know where the influx of new Ruby programmers are
coming from. I’m from a C++/C#/.Net background and while the syntax is
similar to both C++ and C# some things are definitely a bit different.
Jeff
Joe and Ryan, thanks for the examples and reference. I’ll take a
closer looke at the pickaxe in the future.
Af for my previous programming experience: I’ve been a jack of all
trades for a while. But, I have the most experience in Perl, Python,
and C.
Richard
On Dec 22, 2005, at 7:32 PM, Joe Van D. wrote:
be populated when enclosed within quotes. Does anyone have enough
end
end
a = “hay guys”
puts “this is what a is: #{ a }”
prints:
this is what a is: hay guys
From the Ruby.new chapter in Programming Ruby : The Pragmatic
Programmer’s Guide (http://whytheluckystiff.net/ruby/pickaxe/)
"The second thing that Ruby does with double-quoted strings is
expression interpolation. Within the string, the sequence #
{ expression } is replaced by the value of expression. We could use
this to rewrite our previous method.
def sayGoodnight(name)
result = “Goodnight, #{name}”
return result
end
When Ruby constructs this string object, it looks at the current
value of name and substitutes it into the string. Arbitrarily complex
expressions are allowed in the #{…} construct."