小编Grz*_*icz的帖子

Nimrod的价值与参考模型是什么?

注意:我不是在询问指针和引用之间的区别,对于这个问题,它完全无关紧要.

有一点我无法明确说明 - 尼姆罗德使用的是什么型号?

就像C++一样 - 你有值并且new你创建了指向数据的指针(在这种情况下,变量可以保存指向指向数据的指针的指针)?

或者像C# - 你有POD类型作为值,但用户定义的对象有引用(隐式)?

我发现只有dereferencing是自动的,就像在Go中一样.

另一种方式.你定义你的新类型,比方说Student(名字,大学,地址).你写:

var student ...?
Run Code Online (Sandbox Code Playgroud)
  1. 使student保持实际数据(的Student类型/类)
  2. 使student持有的指针数据
  3. 使student持有指针的指针数据

或者那些点不可能?

types pointers nim-lang

21
推荐指数
2
解决办法
3753
查看次数

如何使用C++ 11样式的强typedef创建新的基本类型?

我试图在C++中模拟一种与Nim编程语言不同的类型.以下示例将不在Nim中编译,因为编译器捕获变量并 具有不同的类型(),尽管两者都是二进制级别的浮点数:edError: type mismatch: got (Euros, float)

type
  Euros = distinct float

when isMainModule:
  var
    e = Euros(12.34)
    d = 23.3
  echo (e + d)
Run Code Online (Sandbox Code Playgroud)

在C++中执行此操作的一种方法是为浮点数编写包装类.但是这对于导出类型的API不适用,因为它的大小与float不同.或者即使类的大小与浮点数的存储长度匹配,它也永远不会匹配char类型的大小.如果您还为加法,减法等操作实现所有可能的运算符,那么这将起作用,但需要大量输入和复制代码.

诸如创建新原始类型之类的旧问题 具有使用boost的强类型定义的可接受答案.但是,typedef似乎只适用于函数类型签名,typedef不会阻止两个float-inherited类型一起添加并且它们的类型完全改变(好吧,因为只有新类型的错觉):

#include <boost/serialization/strong_typedef.hpp>
#include <stdio.h>

BOOST_STRONG_TYPEDEF(float, money);

void test(money a, float b)
{
    int t = a + b;
    printf("value is %d", t);
}

int main()
{
    money a(5.5);
    int euros(5);
    // This is not caught!
    int dollars = …
Run Code Online (Sandbox Code Playgroud)

c++ boost c++11 nim-lang

17
推荐指数
4
解决办法
6692
查看次数

如何禁用Android Lollipop ripple的alpha值?

我有一个使用自定义颜色的波纹.但是,颜色永远不会完全不透明.根据什么应该是Ripple的颜色,colorPrimary或​​colorAccent的答案?(材料设计)它总是具有40%的alpha值.看看答案我试图使用以下v21特定的drawable xml强制选择不透明的红色背景:

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="#ffff0000">
    <item android:id="@android:id/mask">
        <color android:color="#ffffffff" />
    </item>
</ripple>
Run Code Online (Sandbox Code Playgroud)

但是,我总是得到一个阿尔法红色,而不是我想要的不透明红色.是否有可能产生不透明的波纹?这是波纹的屏幕截图,其中红色永远不会完全不透明.

在此输入图像描述

你可以在https://github.com/gradha/Stackoverflow33217896上找到一个简单的涟漪效应示例,使用XML涟漪和另一个由代码生成的涟漪效应.后者表明,如果不重写代码,就不可能实现不透明的纹波.

android colors design-guidelines ripple material-design

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

Nim相当于Python的列表理解

由于Nim与Python共享许多功能,如果它也实现了Python的列表理解,我也不会感到惊讶:

string = "Hello 12345 World"
numbers = [x for x in string if x.isdigit()]
# ['1', '2', '3', '4', '5']
Run Code Online (Sandbox Code Playgroud)

这在Nim实际上是否可行?如果没有,可以用模板/宏实现吗?

python list-comprehension nim-lang

14
推荐指数
3
解决办法
2009
查看次数

是否有POSIX功能来复制文件?

展望现在通过一些OS功能我觉得在POSIX系统中,您有C函数调用想unlink()删除文件,link()创建硬链接的文件,symlink()以创建符号文件,rename()移动文件,但是...这里是一个函数copy()文件?

我知道通常的方法是打开源文件,读取其内容,打开目标文件并将其转储到那里.但是为什么我不能在以前的所有功能中找到任何这样的效用函数?

c posix

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

计算UITableView在哪一行停止滚动?

当表有很多行时,用户可以向上/向下滑动表.这创建了滚动动画,其似乎具有确定长度,这取决于轻拂手势的速度/长度.如果没有进一步的用户交互,滚动停止后,是否可以可靠地计算表中哪些行可见?

iphone scroll uitableview gesture

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

旋转回肖像时,避免Android VideoView损坏

我设法写了一个有限的视频播放器,能够从互联网上查看.3gp文件.视频将以全屏显示,保持视频宽高比.此外,旋转不会中断视频,从而保持播放没有问题.

一切似乎都很好,但是......当你旋转回到肖像时,我的HTC图例中,视频已损坏,而不是显示全屏,它以原始像素大小显示.但再次旋转到景观作品,并完美展现.有什么想法吗?不幸的是,我没有更多的硬件来测试它,我已经用尽了测试的想法.

您可以从https://github.com/gradha/Android-video-stream-rotation获取完整的示例源代码.以下是我打开应用程序,旋转到横向,触摸屏幕以显示视频控件,然后旋转回到肖像以查看损坏的屏幕截图. 视频开始画像正常

在风景上视频也很好用

但现在回到肖像总是显示腐败

android corruption screen-rotation android-videoview

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

如何跟踪gzip编码的Web内容的下载进度?

我正在写一个从网上下载东西的iPhone客户端.由于蜂窝网络不是那么快,文件可能很大,我想通过进度条改进活动微调器.

到目前为止一切顺利,我正在使用NSURLConnection并检查Content-Length标头以查看我将下载多少字节.然后,在-connection:didReceiveData:回调中,我将接收到的数据附加到我的NSMutableData对象,在那里我可以跟踪到目前为止下载内容的大小与预期的字节数.

这一切都有效,直到你有一个支持gzip压缩的服务器.使用gzip压缩的服务器将x字节作为内容的大小.但是,由于NSURLConnection在后台进行解压缩,因此传递给didReceiveData回调的数据已经扩展.因此,预期下载的字节小于实际接收的字节,以文件的压缩比例的比例.

这意味着进度条溢出,因为预期的字节数比预期的要早得多.我控制服务器时可以做的就是为gzip内容发送特殊标头,以避免NSURLConnection进行解压缩,但我无法控制网络上的所有服务器.

NSURLConnection是否有任何隐藏方法来报告传输的字节而不是扩展的字节?我是否必须编写自己的NSURLConnection来跟踪传输的字节并自行解压缩gzip数据以获得准确的进度条指示器?也许有另一种较低级别的Core Foundation API?

iphone gzip objective-c nsurlconnection

9
推荐指数
2
解决办法
2296
查看次数

如何在Nim中将对象转换为json

我正在Nim中创建一个小型Web服务,我需要用json响应请求.我正在使用jester模块来提供服务.我希望我可以在Nim的基础库中使用json模块来构造某种带有字段和值的对象,然后将其转换为json字符串.但是怎么样?或者有更好的方法在Nim中构建json吗?

json nim-lang

9
推荐指数
3
解决办法
1664
查看次数

如何在下载时在UIImageView中显示渐进式JPEG?

从网上下载图像并在UIImageView中显示它是相当容易的.但是,这需要在向用户显示图像之前完全下载图像,从而完全击败渐进式JPEG(和PNG)图像.

如何在传输过程中渲染部分下载的图像?我会想象SDK有一些回调函数可以更新图像,但我找不到这样的功能.使用当前的iOS SDK是否可行?

png jpeg progressive-download uiimageview ios

8
推荐指数
2
解决办法
7413
查看次数