好的,所以我做了一个简单的程序,每次点击一个按钮时都会将值加到计数器上.现在,我想添加"自动"按钮功能,以便在单击"自动"按钮时增加计数器的值.我遇到问题,因为它不会在屏幕上呈现每个计数器值,而是在循环完成时更新值.这是我的代码:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.concurrent.TimeUnit;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Gui extends JFrame{
private static final long serialVersionUID = 1L;
private JButton uselesButton;
private JButton autoButton;
private FlowLayout layout;
private long counter = 0;
public Gui() {
super("Button");
layout = new FlowLayout(FlowLayout.CENTER);
this.setLayout(layout);
uselesButton = new JButton(String.format("Pressed %d times", counter));
add(uselesButton);
uselesButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
counter++;
uselesButton.setText(String.format("Pressed %d times", counter));
}
});
autoButton = new JButton("Auto");
add(autoButton);
autoButton.addActionListener(new ActionListener() { …Run Code Online (Sandbox Code Playgroud) 所以我最近一直在玩C#,我不明白输出格式.
using System;
namespace Arrays
{
class Program
{
static void Main()
{
Random r = new Random();
int[] Numbers = new int[10];
for (int i = 0; i < Numbers.Length; i++)
{
Numbers[i] = r.Next(101);
}
for (int i = 0; i < Numbers.Length; i++)
{
Console.WriteLine("index {0} holds number {0}", i,Numbers[i]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
产量

我的预期产量是index i holds number Number[i].因此,任何人都可以解释要更改的内容,或者将我与输出格式主题上的好C#页面链接起来.我知道有两种方法可以做到这一点.
我今天遇到了一个相当有趣的问题。我正在尝试使用 Ecto 函数实现从 CSV 文件到我的数据库的批量插入,Repo.insert_all/2但是,有一件事困扰着我。
问题是我的上下文中的以下代码:
defmodule AppName.Roles do
def bulk_insert(array_of_maps) do
try do
Repo.insert_all(Role, array_of_maps)
rescue
exception in Postgrex.Error ->
_handle_exception(exception) # or whatever
end
end
end
Run Code Online (Sandbox Code Playgroud)
不过就目前而言,这似乎是一个hack。因为我知道有一个内置的变更集机制可以处理独特的约束,但我不知道如何将系统的那部分包含在Repo.insert_all/3
但是由于该insert_all函数不关心变更集,所以这更加困难。
(我当然是指unique_constraint/2)
我知道我可以:
使用Multi执行此,但是这创造了在后台单独的查询,而不是做它作为一个大的查询
使用try rescue块保留代码,但我想看看是否有更多 Elixir-y 方法来解决这个问题,因为模式匹配的哲学让它崩溃了术语。
我在Elixir和Phoenix测试时遇到了另一个问题.我有一个代表用户的模块,如下所示:
defmodule AppExample.Accounts.User do
use Ecto.Schema
import Ecto.Changeset
alias SecuritytrailsApi.Accounts.User
schema "users" do
field :email, :string
field :password, :string, virtual: true
field :password_hash, :string
field :last_login, :naive_datetime
timestamps()
end
...
def registration_changeset(%User{} = user, attrs \\ %{}) do
user
|> changeset(attrs) # validating and castnig email
|> validate_required([:password])
|> put_password_hash # creates password hash from password
|> set_default_date
end
defp set_default_date(chanegset) do
case changeset do
%Ecto.Changeset{valid?: true} ->
put_change(changeset, :last_login, Ecto.DateTime.utc)
_ -> changeset
end
end
end
Run Code Online (Sandbox Code Playgroud)
让我们说我有一个帐户上下文,负责创建新帐户.像这样: …