给出一些清单
numbers = {2,3,5,7,11,13};
Run Code Online (Sandbox Code Playgroud)
我该如何翻译
translatedNumbers = {{1,2},{2,3},{3,5},{4,7},{5,11},{6,13}}
Run Code Online (Sandbox Code Playgroud)
简洁?
我知道如何使用程序化的编程风格如下:
Module[{lst = {}, numbers = {2, 3, 5, 7, 11, 13}},
Do[AppendTo[lst, {i, numbers[[i]]}], {i, 1, Length@numbers}]; lst]
Run Code Online (Sandbox Code Playgroud)
但对于我来说这是一个简单的操作,这种情况相当冗长.例如,相当于haskell的是
numbers = zip [1..] [2,3,5,7,11,13]
Run Code Online (Sandbox Code Playgroud)
我不禁想到在Mathematica中有一个更简洁的方法来"索引"一个数字列表.
显然我不允许在灯泡熄灭后回答我自己的问题,除非我有100个"代表".所以我只想把答案放在这里.让我知道我是否应该以不同的方式做任何事情.
在问过这个之后我现在感觉有点傻了.因为如果我将mathematica列表视为矩阵,我可以转置它们.因此,我的问题的答案(也许不是最好的)如下:
Transpose[{Range@6, {2, 3, 5, 7, 11, 13}}]
Run Code Online (Sandbox Code Playgroud)
编辑为任意输入列表工作,我认为如下:
With[{lst={2, 3, 5, 7, 11, 13}},Transpose[{Range@Length@lst,lst}]]
Run Code Online (Sandbox Code Playgroud)
将工作.我可以做得更好吗?
问题在于标题,我将尝试列出我已经尝试过的内容,等等.
首先,根据我的理解,为了在Windows上使用OpenGL 4.0,您必须扩展和/或绕过默认的Windows库,因为它只提供OpenGL 1.1.
所以我们安装了MinGW C:/MinGW/.接下来,我通过从项目站点下载tarball来设置FreeGLUT .提取和通过根据运行的生成文件编译指令与未成年人加入到命令.--prefix./configure
./configure --prefix=/c/Users/Owner/root/
make all
make install
Run Code Online (Sandbox Code Playgroud)
现在我有freeglut /c/Users/Owner/root/lib/,/c/Users/Owner/root/include/等等.接下来是GLEW,就我所知,我的问题孩子.
从项目站点下载源存档(直接1.7.0.zip链接).编译有点复杂,我目前的配方来自堆栈溢出问题" 用mingw构建窗口上的glew ".缩写形式如下:
mkdir lib/
mkdir bin/
gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c
gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32
ar cr lib/libglew32.a src/glew.o
gcc -DGLEW_NO_GLU -DGLEW_MX -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.mx.o -c src/glew.c
gcc -shared …Run Code Online (Sandbox Code Playgroud) 给出以下C++ 11代码
enum class Foods {
Apple,
Pear,
Banana
};
Run Code Online (Sandbox Code Playgroud)
将
std::cout << (unsigned int)Foods::Apple << std::endl;
Run Code Online (Sandbox Code Playgroud)
输出0?
这对于MSVC 2012和gcc 4.7.0都是如此,但是我对C++ 11标准指定的内容更感兴趣.也就是说,可移植代码是否可以依赖枚举默认为0来表示第一项的值?