小编bpr*_*mas的帖子

没有AND运算符的FizzBu​​zz

对于那些不知道的人,FizzBu​​zz存在以下问题:

编写一个程序,打印从1到100的数字.但是对于三个的倍数打印"Fizz"而不是数字和五个打印"Buzz"的倍数.对于三和五的倍数的数字打印"FizzBu​​zz".

我找到的每个FizzBu​​zz解决方案都是为了原创而制作的一些疯狂的深奥解决方案,或者你的基本if-else链:

for(int i = 1; i <= 100; i++) {

if(i % 3 == 0 && i % 5 == 0) {
   System.out.println("FizzBuzz");
} else if (i % 3 == 0) {
   System.out.println("Fizz");
} else if (i % 5 == 0) {
   System.out.println("Buzz");
} else {
   System.out.println(i);
}
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个简单的解决方案,旨在取出"FizzBu​​zz"if语句.我有这个想法:

for(int i = 1; i <= 100; i++) {

if (i % 3 == 0) 
   System.out.print("Fizz");
if (i % 5 == 0) 
   System.out.println("Buzz")
else
   System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我假设它可以通过输入ifs,Fizz和Buzz来打印FizzBu​​zz,但是如果数字是3,它会打印Fizz3.我该如何避免这种情况?

java if-statement fizzbuzz

8
推荐指数
1
解决办法
3185
查看次数

Delphi:访问JSON数组中的JSON对象

我有一个JSON对象,让我们将它命名为jObject,如下所示:

{
  "id": 0,
  "data": "[{DAT_INCL: \"08/03/2012 10:07:08\", NUM_ORDE: 1, NUM_ATND: 1, NUM_ACAO: 2, NUM_RESU: 3},
            {DAT_INCL: \"08/03/2012 10:07:09\", NUM_ORDE: 2, NUM_ATND: 1, NUM_ACAO: 4, NUM_RESU: 5},
            {DAT_INCL: \"08/03/2012 10:07:09\", NUM_ORDE: 3, NUM_ATND: 1, NUM_ACAO: 8, NUM_RESU: NULL}]"
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它包含两对,其中一个是一个数组,在这种情况下有三个对象(对象的数量是动态的),有多个"key:values"(这些不变,总是相同的5个字段),我想插入到SQL数据库中,"key"是列,"value"是字段.问题是,如何单独访问每个对象?

我所做的代码是通过将它放在jPair中来提取包含该数组的对

jPair := OriginalObject.Get(1); 
Run Code Online (Sandbox Code Playgroud)

然后捕获数组

jArray:= TJSONArray(jPair.JsonValue);
Run Code Online (Sandbox Code Playgroud)

(另外,作为奖励,当我评估jArray.Size时,结果是6226004.什么?)

sql delphi json datasnap

7
推荐指数
2
解决办法
2万
查看次数

select2:如何保留搜索词?

我希望当我单击菜单之外的位置时,我的 select2 元素不会清除搜索的术语。我搜索了很多这个功能,似乎有一天可以实现,但是在4.0版本中它不再起作用了?我也尝试过实现这个答案,但似乎不起作用。

目前我的代码如下:

$(document).ready(function () {
    function displayCurrentValue(selectedObject, currentSearchTerm) {
        return currentSearchTerm;
    }
    $("#reference").select2({
        nextSearchTerm: displayCurrentValue
    });
    $("#reference").select2({
        width: "100%",
        language: "pt-BR",
        ajax: {
            //omitted
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么,当前的行为都是:

  1. 开始输入搜索内容
  2. 单击下拉菜单外部
  3. 再次单击打开下拉菜单
  4. 之前的搜索已经消失了

期望的行为是:

  1. 先前的搜索将被保留。

search jquery plugins jquery-select2

5
推荐指数
1
解决办法
1338
查看次数

在 Rails 上创建多对多记录

我有一个简单的任务列表应用程序,其中包含用户和列表,用户由 Devise 管理,并且可以创建任务列表以及其他用户或他们自己创建的收藏夹列表。用户和列表之间的所有权关系很容易建立,但我在设置喜欢列表的用户的关系时遇到困难。我设想它毕竟是一种多对多关系,一个用户可以收藏许多列表,并且一个列表可以被许多用户收藏,这种关系发生在另一个已经存在的列表所有权的一对多关系之上用户让我犹豫了一下这是否是一个好的做法,但无论如何我还是继续了我的尝试。

目前我有两种模型,一种用于用户,一种用于列表,我尝试通过运行为收藏夹创建迁移rails g migration CreateJoinTableFavorites users lists,这导致了以下迁移

class CreateJoinTableFavorites < ActiveRecord::Migration[5.2]
  def change
    create_join_table :users, :lists do |t|
      t.index [:user_id, :list_id] <-- I uncommented this line
      # t.index [:list_id, :user_id]
      t.timestamps <-- I added this line
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我认为这会创建一个名为“Favorites”的表,该表会自动链接用户和列表,但它创建了一个名为“lists_users”的表。现在我不知道下一步该做什么。我读到我需要为此连接表创建一个模型,但我不知道如何去做。我运行什么命令?rails g model Favoritesrails g model ListsUsers?我是否还告知我要添加的字段,例如rails g model Favorites user_id:integer list_id:integer,或者是否有其他更好的方法来做到这一点,例如也许rails g model Favorites user:references list:references?这里的最佳实践是什么

除此之外,我在list#show视图中添加了一个按钮,供用户单击以将该列表添加到他们的收藏夹中,但在路由它时遇到了一些问题。我所做的是创建一个像这样的按钮:

<%= button_to 'Add to favorites', add_favorites_path({list_id: @list.id}), method: :post …

ruby favorites many-to-many ruby-on-rails

3
推荐指数
1
解决办法
4672
查看次数

将JSON对象插入数据库

我正在使用Delphi XE2构建一个DataSnap服务器,而且我很难找到插入客户端将我发送到数据库的JSON对象的最佳方法.

这是我收到的对象的格式:

{"PK":0,"FIELD1":"EXAMPLE","FIELD2":5, "DATE":""}
Run Code Online (Sandbox Code Playgroud)

我找到的解决方案是以下代码

with qryDBMethods do
  begin
    SQL.Text := 'SELECT * FROM Table';
    Open;
    Append;
    FieldByName('PK')    .AsInteger := StrToInt(newId.ToString)
    FieldByName('FIELD1').AsString  := Object.Get('FIELD1').JsonValue.Value;
    FieldByName('FIELD2').AsInteger := StrToInt(Object.Get('FIELD2').JsonValue.Value); 
    FieldByName('DATE')  .AsDateTime:= Now;    
    Post;
Run Code Online (Sandbox Code Playgroud)

之后,我将我的查询组件制作成JSON对象并返回给我的客户端,但问题是,这将是一个具有密集表的大应用程序,因此每次我想插入一些东西时都要做"SELECT*"不理想.做这个的最好方式是什么?

delphi json datasnap

2
推荐指数
1
解决办法
1705
查看次数

“rails new”没有生成我的任何项目文件夹

我已经下载了 Ruby,并安装了 rails gem,然后我尝试运行rails new my-project,我得到的只是:

c:\Projects>rails new my-project
  create
  create  README.md
  create  Rakefile
  create  .ruby-version
  create  config.ru
  create  .gitignore
  create  Gemfile
    run  git init from "."
Run Code Online (Sandbox Code Playgroud)

当我打开my-projectrails 为我创建的文件夹时,我在其中找到的只有:

.gitignore
.ruby-version
config.ru
Gemfile
Rakefile
README.md
Run Code Online (Sandbox Code Playgroud)

没有别的。

这不是我在家测试时得到的,也不是任何指南说我应该得到的。我有由 rails 生成的完全零个文件夹,它远不及我开始开发所需的文件夹。我不认为我缺少任何安装。以下是 ruby​​ 和 rails 的版本:

c:\Projects>ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x64-mingw32]

c:\Projects>rails -v
Rails 6.0.2
Run Code Online (Sandbox Code Playgroud)

IIRC 我使用 ruby​​installer.org 上的 Windows Ruby 安装程序安装了 Ruby,这是带有 Devkit 的最新版本,然后我只是跑去gem install rails获取 Rails。

我唯一能想到的是我的用户在这台计算机上没有管理员权限,但是当我尝试谷歌时,如果这是一个要求,谷歌给我的只是如何在我的应用程序中实现管理内容。

ruby installation ruby-on-rails

1
推荐指数
1
解决办法
2065
查看次数