小编Nob*_*oka的帖子

如何在Ruby中将负整数转换为二进制

问题1:我找不到以下列方式将负整数转换为二进制的方法.我应该像这样转换它.

-3 => "11111111111111111111111111111101"
Run Code Online (Sandbox Code Playgroud)

我试过以下:

sprintf('%b', -3) => "..101" # .. appears and does not show 111111 bit.

-3.to_s(2) => "-11" # This just adds - to the binary of the positive integer 3.
Run Code Online (Sandbox Code Playgroud)

问题2:有趣的是,如果我使用在线转换器,它告诉我-3的二进制是"00101101 00110011".

"11111111111111111111111111111101"和之间有什么区别"00101101 00110011"

ruby binary integer type-conversion

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

React useState Hooks - 管理一个状态内的多个加载状态

我正在尝试使用反应钩子动态管理一个状态内的多个加载状态。

但是,当我根据 api 调用的结果(成功或错误)更新状态对象时,它会产生一个非常奇怪的结果。

在我下面的代码示例中,单击按钮将触发按钮的加载状态为真。

当我在按钮 1 进行调用时单击按钮 1 然后单击按钮 2 时(这里我只是模拟了超时),它们都按预期将加载状态设置为 true。

然后,一段时间后,两个加载状态都设置为 false。

但是,然后两个调用都完成了,按钮 1 加载状态再次设置为 true ......!?

我不确定如何解决这个问题,感谢您的帮助。谢谢你。

https://codesandbox.io/s/usestate-async-timeout-issue-oknvu

import React, { useState } from "react";
import ReactDOM from "react-dom";

import "./styles.css";

function App() {
  const [loading, setLoading] = useState({});
  const handleOnClick = id => {
    setLoading({ ...loading, [id]: true });
    setTimeout(() => {
      // simulate the case for when error is returned after an api call.
      setLoading({ ...loading, [id]: false });
    }, 2000);
  };

  return ( …
Run Code Online (Sandbox Code Playgroud)

reactjs react-hooks

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

标签 统计

binary ×1

integer ×1

react-hooks ×1

reactjs ×1

ruby ×1

type-conversion ×1