⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arrayref.java

📁 A framework written in Java for implementing high-level and dynamic languages, compiling them into J
💻 JAVA
字号:
// Copyright (c) 2002  Per M.A. Bothner and Brainfood Inc.// This is free software;  for terms and warranty disclaimer see ./COPYING.package gnu.kawa.functions;import gnu.lists.*;import gnu.mapping.*;public class ArrayRef extends ProcedureN{  public static final ArrayRef arrayRef = new ArrayRef();  public static Object arrayRef(Array array, Sequence index)  {    int dims = index.size();    int[] indexes = new int[dims];    for (int i = 0;  i < dims;  i++)      {	indexes[i] = ((Number) index.get(i)).intValue();      }    return array.get(indexes);  }  public Object apply2 (Object arg0, Object arg1)    throws Throwable  {    if (arg1 instanceof Sequence)      return arrayRef((Array) arg0, (Sequence) arg1);    return super.apply2(arg0, arg1);  }  public Object applyN (Object[] args)    throws Throwable  {    Array array = (Array) args[0];    if (args.length == 2)      {	Object arg1 = args[1];	if (arg1 instanceof Sequence)	  return arrayRef(array, (Sequence) arg1);      }    int[] indexes = new int[args.length-1];    for (int i = args.length-1;  --i >= 0; )      {	indexes[i] = ((Number) args[i+1]).intValue();      }    return array.get(indexes);  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -