我在Windows 7上学习Ruby(使用版本1.8.6).
当我尝试运行下面的stock_stats.rb程序时,我收到以下错误:
C:\Users\Will\Desktop\ruby>ruby stock_stats.rb
stock_stats.rb:1: undefined method `require_relative' for main:Object (NoMethodE
rror)
Run Code Online (Sandbox Code Playgroud)
我有三个v.small代码文件:
stock_stats.rb
require_relative 'csv_reader'
reader = CsvReader.new
ARGV.each do |csv_file_name|
STDERR.puts "Processing #{csv_file_name}"
reader.read_in_csv_data(csv_file_name)
end
puts "Total value = #{reader.total_value_in_stock}"
Run Code Online (Sandbox Code Playgroud)
csv_reader.rb
require 'csv'
require_relative 'book_in_stock'
class CsvReader
def initialize
@books_in_stock = []
end
def read_in_csv_data(csv_file_name)
CSV.foreach(csv_file_name, headers: true) do |row|
@books_in_stock << BookInStock.new(row["ISBN"], row["Amount"])
end
end
# later we'll see how to use inject to sum a collection
def total_value_in_stock
sum = 0.0
@books_in_stock.each {|book| …Run Code Online (Sandbox Code Playgroud) 使用基于PHP的电子商务产品Magento构建网站.
我遇到的问题是我想使用选项卡式导航.
我的想法是使用CSS根据URL在相关的导航菜单项上显示TAB.
但是,一个URL总是会改变,所以我想以某种方式使用ifelse语句.
我想出了两种我认为可行的方法,任何专家都可以告诉我他们认为最好的方法以及他们将如何实施它?
<div id="nav">
<ul id="mainnav">
<li><a href="index.php" title="Welcome page" <?php if ($page == 'index.php') { ?>class="active"<?php } ?>>Welcome</a></li>
<li><a href="about_us.php" title="About us page" <?php if ($page == 'about_us.php') { ?>class="active"<?php } ?>>About us</a></li>
<li><a href="services.php" title="Services page" <?php if ($page == 'services.php') { ?>class="active"<?php } ?>>Services</a></li>
<li><a href="testimonials.php" title="Testimonials page" <?php if ($page == 'testimonials.php') { ?>class="active"<?php } ?>>Testimonials</a></li>
<li><a href="contact_us.php" title="Contact us page" <?php if ($page == 'contact_us.php') { ?>class="active"<?php } ?>>Contact us</a></li>
else …Run Code Online (Sandbox Code Playgroud) 可能重复:
"+ ="(加上等于)是什么意思?
以下是什么意思sum += square?这是什么意思?
sum = 0
[1, 2, 3, 4].each do |value|
square = value * value
sum += square
end
puts sum
Run Code Online (Sandbox Code Playgroud)