Tag: 范围

当变量超出范围时,是否意味着它不存在?

我不确定我是否理解范围 – 一个超出范围的变量(我正在使用Ruby)存在于某个地方的内存中,或者它是否停止存在(我知道你无法访问它)。 说超出范围的变量不再存在是否不准确? 也许这是一个哲学问题。

在A之后开始并在Z之后结束时创建一系列字母的数组即(B到AC)

我正在使用Roo Gem并希望从基于标准A1语法的电子表格中提取数据。 我在Z以外的电子表格中有列,因此Excel可以完成整个AA,AB,AC列位置。 我想为列W到AH创建一个数组。 当上限延伸超过Z但是没有从A开始时,Ruby似乎不喜欢 任何想法如何(“B”..”AC”).to_a而不是得到[] 这是irb的基本问题。 (“A”..”Z”).to_a #=> [“A”, “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”, “J”, “K”, “L”, “M”, “N”, “O”, “P”, “Q”, “R”, “S”, “T”, “U”, “V”, “W”, “X”, “Y”, “Z”] (“B”..”Z”).to_a #=> [“B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”, “J”, “K”, “L”, “M”, “N”, “O”, “P”, “Q”, “R”, “S”, […]

如何创建一个范围来订购城市名称?

我有两个模型/表:服务和城市 服务模式: belongs_to :origin_city, class_name: ‘City’ belongs_to :destiny_city, class_name: ‘City’ 如何创建订购城市名称的范围? 我正在尝试这样的事情: scope :by_city_name, -> { joins(:city).order(“cities.name asc”) } 但我只想在一个范围内订购服务起源城市。 并在另一个范围内服务命运之城。

如何根据条件更改字体颜色?

当用户检查时: _form中有好处 我们如何将该结果的索引中的字体颜色( :result_value & :date_value :result_value ) :result_value为绿色? result.good下面在索引中拉出true或false。 一旦我们用颜色表示真或假,我会把它拿出来:true = green,false = red(默认颜色)。 。 class Result { where(good: true) } scope :good_count, -> { good.count } end 非常感谢你的帮助。

Ruby实例变量或局部变量?

我是Ruby语言的新手。 我明白那个 @@count: Class variables @name: Instance variables my_string: Local variables 我记住以上内容。 但是,我发现了一个像这样的Ruby代码: class HBaseController < ApplicationController … def result conn = OkHbase::Connection.new(host: 'localhost', port: 9090, auto_connect: true) … end end ‘conn’让我很困惑。 ‘conn’是实例变量还是局部变量? ‘conn’的范围是什么?

范围和块

在ruby中, module , class和def关键字定义了一个新范围。 我很困惑为什么块中定义的局部变量不存在于块之外。 块参数是另一个范围门吗? 例如: (1..2).each { |n| numer = ‘czesc’ } numer # => NameError: undefined local variable or method `czesc’ for main:Object 或者更简单: def kon; end kon { kot = 3 } kot # => NameError: undefined local variable or method `kot’ for main:Object 我想,也许它不会持久化,因为它是在方法的参数中定义的,但以下适用于普通参数: def pokaz(cos) p cos end pokaz(co […]

从数组和变量范围中提取索引

我正在运行TestFirstRuby,我一直坚持第12个问题,建立一个反向波兰表示法计算器。 我已经完成了除最后一个测试之外的所有测试,要求我取一个字符串(“1 2 3 * +”然后“1 2 3 * + 4 5 / – ”),然后评估表达式。 我要做的是将字符串转换为数组,将数字转换为整数,将运算符转换为符号,然后遍历数组并在运算符随时计算表达式。 这是代码的相关部分: def initialize @expression = ” end def tokens(string) tokens = string.split(‘ ‘) tokens.map! { |digit| /[0-9]/.match(digit) ? digit.to_i : digit.to_sym } end def evaluate(string) #1 2 3 * + #1 2 3 * + 4 5 – / […]

Rails I18n翻译范围

编写完全翻译的应用程序可能会变得乏味。 有没有办法为当前上下文设置默认转换范围? 示例:我正在我的ProjectsController的show.html.erb操作中写入部分_deadlines.html.erb 现在,因为我想成为一名优秀的程序员,所以我的所有翻译都是如此。 我想生成以下树 projects: deadlines: now: “Hurry the deadline is today !” …. 我怎样才能比每次写完整个范围时更省力? 项目/ show.html.erb … … 从show.html.erb调用的projects / _deadlines.html.erb Deadline : 有没有办法为当前上下文设置默认范围(这里是整个_deadlines.html.erb文件)? 编辑 有些人建议使用Rails Lazy查找 ,但这不会产生我正在寻找的范围。 在我的情况下,我想跳过action默认范围(显示,索引等…)并为我正在呈现的当前部分添加范围(在我的情况下为_deadlines.html.erb) Rails懒惰查找: t(‘.now’) t(:now, scope: [:projects, :show] 但我想: t(‘.now’) t(:now, scope: [:projects, :deadlines]

Sinatra可变范围

请使用以下代码: ### Dependencies require ‘rubygems’ require ‘sinatra’ require ‘datamapper’ ### Configuration config = YAML::load(File.read(‘config.yml’)) name = config[‘config’][‘name’] description = config[‘config’][‘description’] username = config[‘config’][‘username’] password = config[‘config’][‘password’] theme = config[‘config’][‘theme’] set :public, ‘views/themes/#{theme}/static’ ### Models DataMapper.setup(:default, “sqlite3://#{Dir.pwd}/marvin.db”) class Post include DataMapper::Resource property :id, Serial property :name, String property :body, Text property :created_at, DateTime property :slug, String […]

使用范围在ActiveRecord中的多个DateTime范围内返回结果

我有一个Session模型,它具有:created_at日期和:start_time日期,两者都存储在数据库中:time 。 我目前正在一个庞大的表上吐出一堆结果,并允许用户使用范围按单个日期和可选的时间范围过滤结果,如下所示: class Session DateTime.strptime(date, ‘%m/%d/%Y’)..DateTime.strptime(date, ‘%m/%d/%Y’).end_of_day ) } scope :filter_by_time, lambda { |date, time| to = time[:to] from = time[:from] where(:start_time => DateTime.strptime(“#{date} #{from[:digits]} #{from[:meridian]}”, ‘%m/%d/%Y %r’).. DateTime.strptime(“#{date} #{to[:digits]} #{to[:meridian]}”, ‘%m/%d/%Y %r’) ) } end 控制器看起来或多或少像这样: class SessionController :created_at) end end end 我需要允许用户使用多个日期过滤结果。 我收到了params作为字符串格式的逗号分隔列表,例如”07/12/2012,07/13/2012,07/17/2012″ ,并且需要能够在数据库中查询几个不同的日期范围和这些日期范围内的时间范围,并合并这些结果,例如7月12日,7月13日和7月17日下午6:30至7:30之间的所有会话。 我一直在寻找各种不同的东西,但我无法弄清楚如何实际做到这一点。 这是否可以使用范围? 如果不是最好的方法是什么? 我最接近的猜测看起来像这样,但它没有返回任何东西,所以我知道这是错的。 scope :filter_by_date, lambda { […]