คำถามติดแท็ก variable-assignment

กระบวนการตั้งค่าหรือกำหนดค่าใหม่ที่จัดเก็บในตำแหน่งที่จัดเก็บซึ่งแสดงด้วยชื่อตัวแปร

11
ทำไม + +,, =, * =, / = ตัวดำเนินการกำหนดผสมของ Java ไม่จำเป็นต้องส่ง
จนถึงวันนี้ฉันคิดอย่างนั้น: i += j; เป็นเพียงทางลัดสำหรับ: i = i + j; แต่ถ้าเราลองทำสิ่งนี้: int i = 5; long j = 8; จากนั้นi = i + j;จะไม่รวบรวม แต่i += j;จะรวบรวมได้ มันหมายความว่าในความเป็นจริงi += j;เป็นทางลัดสำหรับบางสิ่งบางอย่างเช่นนี้ i = (type of i) (i + j)?

5
คำสั่งไม่พบข้อผิดพลาดในการกำหนดตัวแปร Bash
ฉันมีสคริปต์นี้ชื่อ test.sh: #!/bin/bash STR = "Hello World" echo $STR เมื่อฉันวิ่ง sh test.shฉันจะได้รับสิ่งนี้: test.sh: line 2: STR: command not found ผมทำอะไรผิดหรือเปล่า? ฉันมองไปที่พื้นฐานมาก / ผู้เริ่มต้นบทเรียนการเขียนสคริปต์ทุบตีออนไลน์และนี่คือวิธีที่พวกเขาพูดเพื่อประกาศตัวแปร ... ดังนั้นฉันไม่แน่ใจว่าสิ่งที่ฉันทำผิด ฉันใช้ Ubuntu Server 9.10 /bin/bashและใช่ทุบตีตั้งอยู่ที่

26
ทำไมสิ่งนี้ถึงได้วนซ้ำไม่สิ้นสุด?
ฉันมีรหัสต่อไปนี้: public class Tests { public static void main(String[] args) throws Exception { int x = 0; while(x<3) { x = x++; System.out.println(x); } } } เรารู้ว่าเขาควรจะเขียนแค่x++หรือx=x+1แต่x = x++ก่อนนั้นมันควรแอตทริบิวต์xกับตัวเองและเพิ่มขึ้นในภายหลัง ทำไมถึงxดำเนินต่อด้วย0คุณค่า --update นี่คือ bytecode: public class Tests extends java.lang.Object{ public Tests(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return …

9
ฉันจะจัดทำดัชนีอาร์เรย์ MATLAB ที่ส่งกลับโดยฟังก์ชันโดยไม่กำหนดค่าให้กับตัวแปรโลคอลได้อย่างไร
ตัวอย่างเช่นถ้าฉันต้องการอ่านค่ากลางจากmagic(5)ฉันสามารถทำเช่นนี้: M = magic(5); value = M(3,3); value == 13ที่จะได้รับ ฉันต้องการที่จะสามารถทำสิ่งหนึ่งในสิ่งเหล่านี้: value = magic(5)(3,3); value = (magic(5))(3,3); เพื่อแจกจ่ายด้วยตัวแปรกลาง อย่างไรก็ตาม MATLAB บ่นเกี่ยวกับUnbalanced or unexpected parenthesis or bracketวงเล็บแรกก่อนหน้า3ในวงเล็บแรกก่อน เป็นไปได้ไหมที่จะอ่านค่าจากอาเรย์ / เมทริกซ์โดยไม่ต้องกำหนดค่าให้กับตัวแปรก่อน

12
คำอธิบายการกำหนดตัวแปร JavaScript หรือ (||)
รับตัวอย่าง JavaScript นี้ ... var a; var b = null; var c = undefined; var d = 4; var e = 'five'; var f = a || b || c || d || e; alert(f); // 4 ใครช่วยอธิบายหน่อยได้ไหมว่าเทคนิคนี้เรียกว่าอะไร (เดาที่ดีที่สุดของฉันอยู่ในชื่อของคำถามนี้!) แล้วมันทำงานยังไงกันแน่? ความเข้าใจของฉันคือตัวแปรfจะถูกกำหนดค่าที่ใกล้ที่สุด (จากซ้ายไปขวา) ของตัวแปรแรกที่มีค่าที่ไม่เป็นโมฆะหรือไม่ได้กำหนด แต่ฉันไม่สามารถหาวัสดุอ้างอิงเกี่ยวกับเทคนิคนี้ได้มากและมี เห็นมันใช้มาก นอกจากนี้เทคนิคนี้ใช้เฉพาะกับ JavaScript หรือไม่ ฉันรู้ว่าการทำสิ่งที่คล้ายกันใน PHP …

9
กำหนดเอาต์พุตของโปรแกรมให้กับตัวแปรโดยใช้ไฟล์แบตช์ MS
ฉันต้องกำหนดผลลัพธ์ของโปรแกรมให้กับตัวแปรโดยใช้ไฟล์แบตช์ MS ดังนั้นใน GNU VAR=$(application arg0 arg1)เปลือกทุบตีผมจะใช้ ฉันต้องการพฤติกรรมที่คล้ายกันใน Windows โดยใช้ไฟล์แบตช์ set VAR=application arg0 arg1สิ่งที่ชอบ

14
เป็นไปได้หรือไม่ที่จะประกาศตัวแปรโดยไม่ต้องกำหนดค่าใด ๆ ใน Python?
เป็นไปได้ไหมที่จะประกาศตัวแปรใน Python เช่น: var เพื่อที่จะเริ่มต้นเป็นไม่มี ดูเหมือนว่า Python จะอนุญาตสิ่งนี้ แต่ทันทีที่คุณเข้าถึงมันจะเกิดปัญหา เป็นไปได้ไหม ถ้าไม่ทำไม แก้ไข: ฉันต้องการทำสิ่งนี้สำหรับกรณีเช่นนี้: value for index in sequence: if value == None and conditionMet: value = index break ซ้ำ ค่าเริ่มต้นใน python (โดยผู้เขียนคนเดียวกัน) มีคำค้นหาที่ประกาศใน Python หรือไม่? (โดยผู้เขียนคนเดียวกัน) ที่เกี่ยวข้อง Python: ขอบเขตตัวแปรและการเรียกใช้ฟังก์ชัน ภาษาอื่นมี "ตัวแปร"

3
ตั้งค่าตัวแปรใน jinja
ฉันต้องการทราบว่าฉันจะตั้งค่าตัวแปรด้วยตัวแปรอื่นใน jinja ได้อย่างไร ฉันจะอธิบายฉันมีเมนูย่อยและฉันต้องการแสดงว่าลิงก์ใดใช้งานได้ ฉันลองสิ่งนี้: {% set active_link = {{recordtype}} -%} โดยที่ recordtype เป็นตัวแปรที่กำหนดให้กับเทมเพลตของฉัน

13
การเริ่มต้นขององค์ประกอบทั้งหมดของอาร์เรย์ให้เป็นค่าเริ่มต้นหนึ่งใน C ++?
หมายเหตุ C ++: การเริ่มต้นอาร์เรย์มีรายการที่ดีเกี่ยวกับการเริ่มต้นของอาร์เรย์ ฉันมี int array[100] = {-1}; คาดหวังว่ามันจะเต็มไปด้วย -1 แต่ไม่ใช่เพียงค่าแรกคือและส่วนที่เหลือเป็น 0 ผสมกับค่าสุ่ม รหัส int array[100] = {0}; ทำงานได้ดีและตั้งค่าแต่ละองค์ประกอบเป็น 0 ฉันจะพลาดอะไรที่นี่ .. ไม่สามารถเริ่มต้นได้หากค่าไม่เป็นศูนย์? และ 2: การเริ่มต้นเริ่มต้น (ดังกล่าว) เร็วกว่าการวนซ้ำทั่วทั้งอาร์เรย์และกำหนดค่าหรือทำสิ่งเดียวกันหรือไม่?

13
วิธีการกำหนดจากฟังก์ชั่นที่ส่งกลับมากกว่าหนึ่งค่า?
ยังคงพยายามที่จะเข้าสู่ตรรกะ R ... วิธี "ที่ดีที่สุด" ในการแกะ (บน LHS) ผลลัพธ์จากฟังก์ชันที่คืนค่าหลายค่าคืออะไร เห็นได้ชัดว่าฉันทำสิ่งนี้ไม่ได้: R> functionReturningTwoValues <- function() { return(c(1, 2)) } R> functionReturningTwoValues() [1] 1 2 R> a, b <- functionReturningTwoValues() Error: unexpected ',' in "a," R> c(a, b) <- functionReturningTwoValues() Error in c(a, b) <- functionReturningTwoValues() : object 'a' not found ฉันต้องทำสิ่งต่อไปนี้จริงๆเหรอ? …

11
ความแตกต่างระหว่างการคัดลอกตื้นลึกและการดำเนินการมอบหมายปกติคืออะไร?
import copy a = "deepak" b = 1, 2, 3, 4 c = [1, 2, 3, 4] d = {1: 10, 2: 20, 3: 30} a1 = copy.copy(a) b1 = copy.copy(b) c1 = copy.copy(c) d1 = copy.copy(d) print("immutable - id(a)==id(a1)", id(a) == id(a1)) print("immutable - id(b)==id(b1)", id(b) == id(b1)) print("mutable …

14
ทำไม x == (x = y) ไม่เหมือนกับ (x = y) == x
ลองพิจารณาตัวอย่างต่อไปนี้: class Quirky { public static void main(String[] args) { int x = 1; int y = 3; System.out.println(x == (x = y)); // false x = 1; // reset System.out.println((x = y) == x); // true } } ฉันไม่แน่ใจว่ามีรายการใน Java Language Specification ที่สั่งให้โหลดค่าก่อนหน้าของตัวแปรเพื่อเปรียบเทียบกับด้านขวา (x = y ) ซึ่งควรจะคำนวณตามลำดับโดยนัยโดยวงเล็บ ทำไมนิพจน์แรกถึงประเมินfalseแต่อันดับที่สองประเมินได้trueอย่างไร …

7
การมอบหมายทางซ้ายหลายครั้งพร้อม JavaScript
var var1 = 1, var2 = 1, var3 = 1; นี่เทียบเท่ากับสิ่งนี้: var var1 = var2 = var3 = 1; ฉันค่อนข้างแน่ใจว่านี่คือลำดับของตัวแปรที่กำหนดไว้: var3, var2, var1 ซึ่งจะเท่ากับ: var var3 = 1, var2 = var3, var1 = var2; มีวิธีการยืนยันใน JavaScript หรือไม่? การใช้ profiler อาจเป็นไปได้?


7
ชุดคำหลักทำอะไรได้จริงใน VBA
หวังว่าเป็นคำถามง่าย ๆ แต่ฉันอยากได้คำตอบทางเทคนิคกับสิ่งนี้! ความแตกต่างระหว่าง: i = 4 และ Set i = 4 ใน VBA? ฉันรู้ว่าคนหลังจะทำให้เกิดข้อผิดพลาด แต่ฉันไม่เข้าใจว่าทำไม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.